X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=config.py;h=233d726b85237c90ae787568e3c303f30bdb91ea;hp=77dd34bcc06382e1c7e539c7734c69303fa8886b;hb=c5e7176fc3cb27f897898ee92622506a1862006e;hpb=d4c6db46c7a1611e5367e7578cae180120ef734a diff --git a/config.py b/config.py index 77dd34bc..233d726b 100644 --- a/config.py +++ b/config.py @@ -26,13 +26,9 @@ class Config: self.config_selected = [ 'release' ] # those are global to each config self.platform = platform.system() - if ( self.platform == 'Darwin' ): - self.cc = 'gcc' - self.cxx = 'g++' - else: - self.cc = 'gcc-4.1' - self.cxx = 'g++-4.1' - self.install = True + self.cc = 'gcc' + self.cxx = 'g++' + self.install_directory = 'install' def __repr__( self ): return 'config: target=%s config=%s' % ( self.target_selected, self.config_selected ) @@ -49,26 +45,15 @@ class Config: def _processCXX( self, ops ): self.cxx = ops - def _processInstall( self, ops ): - ops = ops[0] - if ( ops == 'yes' or ops == 'true' or ops == 'True' or ops == '1' or ops == True ): - self.install = True - return - self.install = False + def _processInstallDir( self, ops ): + self.install_directory = os.path.normpath( os.path.expanduser( ops[0] ) ) def setupParser( self, operators ): operators['target'] = self._processTarget operators['config'] = self._processConfig operators['cc'] = self._processCC operators['cxx'] = self._processCXX - operators['install'] = self._processInstall - - def InstallAs( self, target, source ): - if ( self.install ): - iret = InstallAs( target, source ) - Default( iret ) - else: - Default( source ) + operators['install_directory'] = self._processInstallDir def emit_radiant( self ): settings = self @@ -86,7 +71,7 @@ class Config: lib_objects += SConscript( os.path.join( build_dir, 'SConscript.lib' ) ) Export( 'lib_objects' ) radiant = SConscript( os.path.join( build_dir, 'SConscript.radiant' ) ) - self.InstallAs( 'install/radiant.bin', radiant ) + Default( InstallAs( os.path.join( self.install_directory, 'radiant.bin' ), radiant ) ) # PIC versions of the libs for the modules shlib_objects_extra = {} @@ -106,8 +91,7 @@ class Config: 'plugins/entity/entity.vcproj', 'plugins/image/image.vcproj', 'plugins/model/model.vcproj', - # FIXME: Fix linker flags - xml2, z - # 'plugins/imagepng/imagepng.vcproj', + 'plugins/imagepng/imagepng.vcproj', 'plugins/imagewal/imagewal.vcproj', 'plugins/imagem8/imagem8.vcproj', 'plugins/spritemodel/spritemodel.vcproj', @@ -149,7 +133,7 @@ class Config: shlib_objects += shlib_objects_extra['cmdlib'] Export( 'project', 'shlib_objects' ) module = SConscript( os.path.join( build_dir, 'SConscript.module' ) ) - self.InstallAs( 'install/modules/%s.so' % libname, module ) + Default( InstallAs( os.path.join( self.install_directory, 'modules/%s.so' % libname ), module ) ) def emit_q3map2( self ): settings = self @@ -166,7 +150,7 @@ class Config: lib_objects += SConscript( os.path.join( build_dir, 'SConscript.lib' ) ) Export( 'lib_objects' ) q3map2 = SConscript( os.path.join( build_dir, 'SConscript.q3map2' ) ) - self.InstallAs( 'install/q3map2', q3map2 ) + Default( InstallAs( os.path.join( self.install_directory, 'q3map2' ), q3map2 ) ) def emit( self ): @@ -183,7 +167,7 @@ class Config: else: self.emit_q3map2() - def SetupEnvironment( self, env, config, useGtk = False, useGtkGL = False, useJPEG = False ): + def SetupEnvironment( self, env, config, useGtk = False, useGtkGL = False, useJPEG = False, useZ = False, usePNG = False ): env['CC'] = self.cc env['CXX'] = self.cxx ( ret, xml2 ) = commands.getstatusoutput( 'xml2-config --cflags' ) @@ -226,6 +210,11 @@ class Config: env.Append( LINKFLAGS = gtkgllibs.split( ' ' ) ) if ( useJPEG ): env.Append( LIBS = 'jpeg' ) + if ( usePNG ): + pnglibs = 'png z' + env.Append( LIBS = pnglibs.split( ' ' ) ) + if ( useZ ): + env.Append( LIBS = 'z' ) env.Append( CFLAGS = baseflags ) env.Append( CXXFLAGS = baseflags + [ '-fpermissive', '-fvisibility-inlines-hidden' ] )