Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
12 kB · 259 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259--- a/Lib/distutils/cygwinccompiler.py+++ b/Lib/distutils/cygwinccompiler.py@@ -117,8 +117,10 @@ # dllwrap 2.10.90 is buggy if self.ld_version >= "2.10.90": self.linker_dll = "gcc"+ self.linker_dll_cxx = "g++" else: self.linker_dll = "dllwrap"+ self.linker_dll_cxx = "dllwrap" # ld_version >= "2.13" support -shared so use it instead of # -mdll -static@@ -132,9 +134,13 @@ self.set_executables(compiler='gcc -mcygwin -O -Wall', compiler_so='gcc -mcygwin -mdll -O -Wall', compiler_cxx='g++ -mcygwin -O -Wall',+ compiler_so_cxx='g++ -mcygwin -mdll -O -Wall', linker_exe='gcc -mcygwin', linker_so=('%s -mcygwin %s' %- (self.linker_dll, shared_option)))+ (self.linker_dll, shared_option)),+ linker_exe_cxx='g++ -mcygwin',+ linker_so_cxx=('%s -mcygwin %s' %+ (self.linker_dll_cxx, shared_option))) # cygwin and mingw32 need different sets of libraries if self.gcc_version == "2.91.57":@@ -160,8 +166,12 @@ raise CompileError, msg else: # for other files use the C-compiler try:- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +- extra_postargs)+ if self.detect_language(src) == 'c++':+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] ++ extra_postargs)+ else:+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] ++ extra_postargs) except DistutilsExecError, msg: raise CompileError, msg @@ -327,9 +337,14 @@ self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin, compiler_so='gcc%s -mdll -O -Wall' % no_cygwin, compiler_cxx='g++%s -O -Wall' % no_cygwin,+ compiler_so_cxx='g++%s -mdll -O -Wall' % no_cygwin, linker_exe='gcc%s' % no_cygwin, linker_so='%s%s %s %s' % (self.linker_dll, no_cygwin,+ shared_option, entry_point),+ linker_exe_cxx='g++%s' % no_cygwin,+ linker_so_cxx='%s%s %s %s'+ % (self.linker_dll_cxx, no_cygwin, shared_option, entry_point)) # Maybe we should also append -mthreads, but then the finished # dlls need another dll (mingwm10.dll see Mingw32 docs)--- a/Lib/distutils/emxccompiler.py+++ b/Lib/distutils/emxccompiler.py@@ -65,8 +65,12 @@ # XXX optimization, warnings etc. should be customizable. self.set_executables(compiler='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall', compiler_so='gcc -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',+ compiler_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall',+ compiler_so_cxx='g++ -Zomf -Zmt -O3 -fomit-frame-pointer -mprobe -Wall', linker_exe='gcc -Zomf -Zmt -Zcrtdll',- linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll')+ linker_so='gcc -Zomf -Zmt -Zcrtdll -Zdll',+ linker_exe_cxx='g++ -Zomf -Zmt -Zcrtdll',+ linker_so_cxx='g++ -Zomf -Zmt -Zcrtdll -Zdll') # want the gcc library statically linked (so that we don't have # to distribute a version dependent on the compiler we have)@@ -83,8 +87,12 @@ raise CompileError, msg else: # for other files use the C-compiler try:- self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +- extra_postargs)+ if self.detect_language(src) == 'c++':+ self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] ++ extra_postargs)+ else:+ self.spawn(self.compiler_so + cc_args + [src, '-o', obj] ++ extra_postargs) except DistutilsExecError, msg: raise CompileError, msg --- a/Lib/distutils/sysconfig.py+++ b/Lib/distutils/sysconfig.py@@ -170,10 +170,12 @@ _osx_support.customize_compiler(_config_vars) _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True' - (cc, cxx, cflags, ccshared, ldshared, so_ext, ar, ar_flags) = \- get_config_vars('CC', 'CXX', 'CFLAGS',- 'CCSHARED', 'LDSHARED', 'SO', 'AR',- 'ARFLAGS')+ (cc, cxx, ccshared, ldshared, ldcxxshared, so_ext, ar, ar_flags) = \+ get_config_vars('CC', 'CXX', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',+ 'SO', 'AR', 'ARFLAGS')++ cflags = ''+ cxxflags = '' if 'CC' in os.environ: newcc = os.environ['CC']@@ -188,19 +190,27 @@ cxx = os.environ['CXX'] if 'LDSHARED' in os.environ: ldshared = os.environ['LDSHARED']+ if 'LDCXXSHARED' in os.environ:+ ldcxxshared = os.environ['LDCXXSHARED'] if 'CPP' in os.environ: cpp = os.environ['CPP'] else: cpp = cc + " -E" # not always if 'LDFLAGS' in os.environ: ldshared = ldshared + ' ' + os.environ['LDFLAGS']+ ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS'] if 'CFLAGS' in os.environ: cflags = cflags + ' ' + os.environ['CFLAGS'] ldshared = ldshared + ' ' + os.environ['CFLAGS']+ if 'CXXFLAGS' in os.environ:+ cxxflags = os.environ['CXXFLAGS']+ ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS'] if 'CPPFLAGS' in os.environ: cpp = cpp + ' ' + os.environ['CPPFLAGS'] cflags = cflags + ' ' + os.environ['CPPFLAGS']+ cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS'] ldshared = ldshared + ' ' + os.environ['CPPFLAGS']+ ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS'] if 'AR' in os.environ: ar = os.environ['AR'] if 'ARFLAGS' in os.environ:@@ -209,13 +219,17 @@ archiver = ar + ' ' + ar_flags cc_cmd = cc + ' ' + cflags+ cxx_cmd = cxx + ' ' + cxxflags compiler.set_executables( preprocessor=cpp, compiler=cc_cmd, compiler_so=cc_cmd + ' ' + ccshared,- compiler_cxx=cxx,+ compiler_cxx=cxx_cmd,+ compiler_so_cxx=cxx_cmd + ' ' + ccshared, linker_so=ldshared, linker_exe=cc,+ linker_so_cxx=ldcxxshared,+ linker_exe_cxx=cxx, archiver=archiver) compiler.shared_lib_extension = so_ext--- a/Lib/distutils/unixccompiler.py+++ b/Lib/distutils/unixccompiler.py@@ -55,14 +55,17 @@ # are pretty generic; they will probably have to be set by an outsider # (eg. using information discovered by the sysconfig about building # Python extensions).- executables = {'preprocessor' : None,- 'compiler' : ["cc"],- 'compiler_so' : ["cc"],- 'compiler_cxx' : ["cc"],- 'linker_so' : ["cc", "-shared"],- 'linker_exe' : ["cc"],- 'archiver' : ["ar", "-cr"],- 'ranlib' : None,+ executables = {'preprocessor' : None,+ 'compiler' : ["cc"],+ 'compiler_so' : ["cc"],+ 'compiler_cxx' : ["c++"],+ 'compiler_so_cxx' : ["c++"],+ 'linker_so' : ["cc", "-shared"],+ 'linker_exe' : ["cc"],+ 'linker_so_cxx' : ["c++", "-shared"],+ 'linker_exe_cxx' : ["c++"],+ 'archiver' : ["ar", "-cr"],+ 'ranlib' : None, } if sys.platform[:6] == "darwin":@@ -112,12 +115,19 @@ def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): compiler_so = self.compiler_so+ compiler_so_cxx = self.compiler_so_cxx if sys.platform == 'darwin': compiler_so = _osx_support.compiler_fixup(compiler_so, cc_args + extra_postargs)+ compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,+ cc_args + extra_postargs) try:- self.spawn(compiler_so + cc_args + [src, '-o', obj] +- extra_postargs)+ if self.detect_language(src) == 'c++':+ self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] ++ extra_postargs)+ else:+ self.spawn(compiler_so + cc_args + [src, '-o', obj] ++ extra_postargs) except DistutilsExecError, msg: raise CompileError, msg @@ -174,23 +184,16 @@ ld_args.extend(extra_postargs) self.mkpath(os.path.dirname(output_filename)) try:- if target_desc == CCompiler.EXECUTABLE:- linker = self.linker_exe[:]+ if target_lang == "c++":+ if target_desc == CCompiler.EXECUTABLE:+ linker = self.linker_exe_cxx[:]+ else:+ linker = self.linker_so_cxx[:] else:- linker = self.linker_so[:]- if target_lang == "c++" and self.compiler_cxx:- # skip over environment variable settings if /usr/bin/env- # is used to set up the linker's environment.- # This is needed on OSX. Note: this assumes that the- # normal and C++ compiler have the same environment- # settings.- i = 0- if os.path.basename(linker[0]) == "env":- i = 1- while '=' in linker[i]:- i = i + 1-- linker[i] = self.compiler_cxx[i]+ if target_desc == CCompiler.EXECUTABLE:+ linker = self.linker_exe[:]+ else:+ linker = self.linker_so[:] if sys.platform == 'darwin': linker = _osx_support.compiler_fixup(linker, ld_args)--- a/Lib/_osx_support.py+++ b/Lib/_osx_support.py@@ -14,13 +14,13 @@ # configuration variables that may contain universal build flags, # like "-arch" or "-isdkroot", that may need customization for # the user environment-_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'LDFLAGS', 'CPPFLAGS', 'BASECFLAGS',- 'BLDSHARED', 'LDSHARED', 'CC', 'CXX',- 'PY_CFLAGS', 'PY_LDFLAGS', 'PY_CPPFLAGS',- 'PY_CORE_CFLAGS')+_UNIVERSAL_CONFIG_VARS = ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CPPFLAGS',+ 'BASECFLAGS', 'BLDSHARED', 'LDSHARED', 'LDCXXSHARED',+ 'CC', 'CXX', 'PY_CFLAGS', 'PY_LDFLAGS',+ 'PY_CPPFLAGS', 'PY_CORE_CFLAGS') # configuration variables that may contain compiler calls-_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'CC', 'CXX')+_COMPILER_CONFIG_VARS = ('BLDSHARED', 'LDSHARED', 'LDCXXSHARED', 'CC', 'CXX') # prefix added to original configuration variable names _INITPRE = '_OSX_SUPPORT_INITIAL_'