Lines Matching +full:mingw32 +full:- +full:make
5 the Mingw32CCompiler class which handles the mingw32 port of GCC (same as
6 cygwin in no-cygwin mode).
14 # - create a def-file for python??.dll
15 # - create an import library using
16 # dlltool --dllname python15.dll --def python15.def \
17 # --output-lib libpython15.a
19 # see also http://starship.python.net/crew/kernr/mingw32/Notes.html
21 # * We put export_symbols in a def-file, and don't use
22 # --export-all-symbols because it doesn't worked reliable in some
30 # see also http://starship.python.net/crew/kernr/mingw32/Notes.html
31 # * mingw32 gcc 2.95.2/ld 2.9.4/dllwrap 0.2.4 works
32 # (ld doesn't support -shared, so we use dllwrap)
34 # - its dllwrap doesn't work, there is a bug in binutils 2.10.90
35 # see also http://sources.redhat.com/ml/cygwin/2000-06/msg01274.html
36 # - using gcc -mdll instead dllwrap doesn't work without -static because
39 # By specifying -static we force ld to link against the import libraries,
44 # (ld supports -shared)
46 # (ld supports -shared)
64 if msc_pos != -1:
114 # gcc -mdll instead of dllwrap
123 # ld_version >= "2.13" support -shared so use it instead of
124 # -mdll -static
126 shared_option = "-shared"
128 shared_option = "-mdll -static"
130 # Hard-code GCC because that's what this is all about.
132 self.set_executables(compiler='gcc -mcygwin -O -Wall',
133 compiler_so='gcc -mcygwin -mdll -O -Wall',
134 compiler_cxx='g++ -mcygwin -O -Wall',
135 linker_exe='gcc -mcygwin',
136 linker_so=('%s -mcygwin %s' %
139 # cygwin and mingw32 need different sets of libraries
142 # (gcc version 2.91.57) -- perhaps something about initialization
158 self.spawn(["windres", "-i", src, "-o", obj])
161 else: # for other files use the C-compiler
163 self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
191 # handle export symbols by creating a def-file
195 # (The linker doesn't do anything if output is up-to-date.
221 # next add options for def-file and to creating import libraries
225 extra_preargs.extend(["--output-lib", lib_file])
227 extra_preargs.extend(["--def", def_file])
231 #extra_preargs.extend(["-Wl,--out-implib,%s" % lib_file])
232 # for gcc/ld the def-file is specified as any object files
245 extra_preargs.append("-s")
255 None, # export_symbols, we do this in our def-file
264 # -- Miscellaneous methods -----------------------------------------
266 # overwrite the one from CCompiler to support rc and res-files
274 # use normcase to make sure '.rc' is really '.rc' and not '.RC'
299 compiler_type = 'mingw32'
308 # ld_version >= "2.13" support -shared so use it instead of
309 # -mdll -static
311 shared_option = "-shared"
313 shared_option = "-mdll -static"
315 # A real mingw32 doesn't need to specify a different entry point,
316 # but cygwin 2.91.57 in no-cygwin-mode needs it.
318 entry_point = '--entry _DllMain@12'
323 no_cygwin = ' -mno-cygwin'
327 self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
328 compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
329 compiler_cxx='g++%s -O -Wall' % no_cygwin,
334 # Maybe we should also append -mthreads, but then the finished
335 # dlls need another dll (mingwm10.dll see Mingw32 docs)
336 # (-mthreads: Support thread-safe exception handling on `Mingw32')
367 not sure -- unable to read pyconfig.h
368 'details' is a human-readable string explaining the situation.
376 # "pyconfig.h" check -- should probably be renamed...
420 out = os.popen(gcc_exe + ' -dumpversion','r')
432 out = os.popen(ld_exe + ' -v','r')
444 out = os.popen(dllwrap_exe + ' --version','r')
458 out = os.popen('gcc -dumpmachine', 'r')
461 # out_string is the target triplet cpu-vendor-os