From 4ed5a1fad1d8826290f74aa4a5893d38b32d404d Mon Sep 17 00:00:00 2001 From: rpolzer Date: Mon, 15 Sep 2008 12:28:02 +0000 Subject: [PATCH] HA! make now replaces scons git-svn-id: svn://svn.icculus.org/netradiant/trunk@34 61c419a2-8eb2-4b30-bcec-8cead039b335 --- ChangeLog | 5 +- SConscript | 633 ----------------------------------------------------- SConstruct | 338 ---------------------------- 3 files changed, 2 insertions(+), 974 deletions(-) delete mode 100644 SConscript delete mode 100644 SConstruct diff --git a/ChangeLog b/ChangeLog index 81b0a347..8cb2739f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,10 @@ 2008-09-15 Rudolf Polzer divVerent(at)alientrap.org - * all: added a Makefile to build GtkRadiant with q3map2. Currently without - plugins, will add these back later + * all: added a Makefile to build GtkRadiant; this replaces scons and + python install.py * all: got rid of libmhash dependency, using mdfour.c from DarkPlaces instead * q2data: remove RSA security copyrighted md4.c, using mdfour.c from DP instead as a drop-in replacement - * all: get rid of makeversion.py and install.py 2008-09-13 Rudolf Polzer divVerent(at)alientrap.org * q3map2: update to ZeroRadiant's q3map2 diff --git a/SConscript b/SConscript deleted file mode 100644 index a0509a90..00000000 --- a/SConscript +++ /dev/null @@ -1,633 +0,0 @@ -import os, sys, commands, string -from makeversion import get_version -# OS Detection: -OS = commands.getoutput('uname') - -Import('GLOBALS') -Import(GLOBALS) - -def build_list(s_prefix, s_string): - s_list = Split(s_string) - for i in range(len(s_list)): - s_list[i] = s_prefix + '/' + s_list[i] - return s_list - -# common code ------------------------------------------------------ - -cmdlib_lib = g_env.StaticLibrary(target='libs/cmdlib', source='libs/cmdlib/cmdlib.cpp') - -xml_env = g_env.Copy() -xml_env.Prepend(CPPPATH = 'include') -xml_env.Append(CXXFLAGS='`pkg-config glib-2.0 --cflags` `xml2-config --cflags`') -xml_src = 'ixml.cpp xmlparser.cpp xmlwriter.cpp xmlelement.cpp xmltextags.cpp' -xml_lib = xml_env.StaticLibrary(target='libs/xmllib', source=build_list('libs/xml', xml_src)) - -mathlib_src = 'mathlib.c bbox.c line.c m4x4.c ray.c' -mathlib_lib = g_env.StaticLibrary(target='libs/mathlib', source=build_list('libs/mathlib', mathlib_src)) - -md5lib_lib = g_env.StaticLibrary(target='libs/md5lib', source='libs/md5lib/md5lib.c') - -ddslib_lib = g_env.StaticLibrary(target='libs/ddslib', source='libs/ddslib/ddslib.c') - -jpeg_env = g_env.Copy() -jpeg_env.Prepend(CPPPATH = 'libs/jpeg6') -jpeg_src = 'jcomapi.cpp jdcoefct.cpp jdinput.cpp jdpostct.cpp jfdctflt.cpp jpgload.cpp jdapimin.cpp jdcolor.cpp jdmainct.cpp jdsample.cpp jidctflt.cpp jutils.cpp jdapistd.cpp jddctmgr.cpp jdmarker.cpp jdtrans.cpp jmemmgr.cpp jdatasrc.cpp jdhuff.cpp jdmaster.cpp jerror.cpp jmemnobs.cpp' -jpeg_lib = jpeg_env.StaticLibrary(target='libs/jpeg6', source=build_list('libs/jpeg6', jpeg_src)) - -l_net_lib = g_env.StaticLibrary(target='libs/l_net', source=['libs/l_net/l_net.c', 'libs/l_net/l_net_berkley.c']) - -picomodel_src = 'picointernal.c picomodel.c picomodules.c pm_3ds.c pm_ase.c pm_md3.c pm_obj.c\ - pm_ms3d.c pm_mdc.c pm_fm.c pm_md2.c pm_lwo.c pm_terrain.c lwo/clip.c lwo/envelope.c lwo/list.c lwo/lwio.c\ - lwo/lwo2.c lwo/lwob.c lwo/pntspols.c lwo/surface.c lwo/vecmath.c lwo/vmap.c' -picomodel_lib = g_env.StaticLibrary(target='libs/picomodel', source=build_list('libs/picomodel', picomodel_src)) - -#splines_env = g_env.Copy() -#splines_src = build_list('libs/splines', 'math_angles.cpp math_matrix.cpp math_quaternion.cpp math_vector.cpp q_parse.cpp q_shared.cpp splines.cpp util_str.cpp') -#splines_env['CPPPATH'].append('include') -#splines_lib = splines_env.StaticLibrary(target='libs/splines', source=splines_src) - -profile_env = g_env.Copy(); -profile_env['CPPPATH'].append('include') -profile_src = 'profile.cpp file.cpp' -profile_lib = profile_env.StaticLibrary(target='libs/profile', source=build_list('libs/profile', profile_src)) - -gtkutil_env = g_env.Copy(); -gtkutil_env['CPPPATH'].append('include') -gtkutil_env.useGlib2() -gtkutil_env.useGtk2() -gtkutil_env.useGtkGLExt() - -gtkutil_src = '\ - accelerator.cpp\ - button.cpp\ - clipboard.cpp\ - closure.cpp\ - container.cpp\ - cursor.cpp\ - dialog.cpp\ - entry.cpp\ - frame.cpp\ - filechooser.cpp\ - glfont.cpp\ - glwidget.cpp\ - image.cpp\ - idledraw.cpp\ - menu.cpp\ - messagebox.cpp\ - nonmodal.cpp\ - paned.cpp\ - pointer.cpp\ - toolbar.cpp\ - widget.cpp\ - window.cpp\ - xorrectangle.cpp\ -' - -gtkutil_lib = gtkutil_env.StaticLibrary(target='libs/gtkutil', source=build_list('libs/gtkutil', gtkutil_src)) - -# end static / common libraries --------------------------------------------------- - -# q3map --------------------------------------------------------------------------- - -q3map_env = g_env.Copy() -q3map_env['CPPPATH'].append('include') -q3map_env.useXML2() -q3map_env.useGlib2() -q3map_env.usePNG() -q3map_env.useMHash() -q3map_env.usePThread() -q3map_env.Prepend(CPPPATH='tools/quake3/common') - -q3map_common_src = [ - 'common/cmdlib.c', - 'common/imagelib.c', - 'common/inout.c', - 'common/mutex.c', - 'common/polylib.c', - 'common/scriplib.c', - 'common/threads.c', - 'common/unzip.c', - 'common/vfs.c' ] - -q3map_src = [ - 'q3map2/brush.c', - 'q3map2/brush_primit.c', - 'q3map2/bsp.c', - 'q3map2/facebsp.c', - 'q3map2/fog.c', - 'q3map2/leakfile.c', - 'q3map2/map.c', - 'q3map2/model.c', - 'q3map2/patch.c', - 'q3map2/portals.c', - 'q3map2/prtfile.c', - 'q3map2/surface.c', - 'q3map2/surface_fur.c', - 'q3map2/surface_meta.c', - 'q3map2/tjunction.c', - 'q3map2/tree.c', - 'q3map2/writebsp.c', - 'q3map2/image.c', - 'q3map2/light.c', - 'q3map2/light_bounce.c', - 'q3map2/light_trace.c', - 'q3map2/light_ydnar.c', - 'q3map2/lightmaps_ydnar.c', - 'q3map2/vis.c', - 'q3map2/visflow.c', - 'q3map2/bspfile_abstract.c', - 'q3map2/bspfile_ibsp.c', - 'q3map2/bspfile_rbsp.c', - 'q3map2/decals.c', - 'q3map2/main.c', - 'q3map2/mesh.c', - 'q3map2/path_init.c', - 'q3map2/shaders.c', - 'q3map2/surface_extra.c', - 'q3map2/surface_foliage.c', - 'q3map2/convert_ase.c', - 'q3map2/convert_map.c' ] - -q3map_full_src = [ ] -for i in q3map_common_src + q3map_src: - q3map_full_src.append('tools/quake3/' + i) - -q3map_libs = ['mathlib', 'l_net', 'jpeg6', 'picomodel', 'ddslib'] - -q3map_prog = q3map_env.Program(target='q3map2.' + g_cpu, source=q3map_full_src, LIBS=q3map_libs, LIBPATH='libs') -q3map_env.Depends(q3map_prog, mathlib_lib) -q3map_env.Depends(q3map_prog, l_net_lib) -q3map_env.Depends(q3map_prog, jpeg_lib) -q3map_env.Depends(q3map_prog, picomodel_lib) -q3map_env.Depends(q3map_prog, ddslib_lib) -q3map_env.Install(INSTALL, q3map_prog) - -# end q3map2 ---------------------------------------------------------------------- - -# q3data --------------------------------------------------------------------------- - -q3data_env = q3map_env.Copy() - -q3data_common_src = [ - 'common/aselib.c', - 'common/bspfile.c', - 'common/cmdlib.c', - 'common/imagelib.c', - 'common/inout.c', - 'common/md4.c', - 'common/scriplib.c', - 'common/trilib.c', - 'common/unzip.c', - 'common/vfs.c' - ] - -q3data_src = [ - 'q3data/3dslib.c', - 'q3data/compress.c', - 'q3data/images.c', - 'q3data/md3lib.c', - 'q3data/models.c', - 'q3data/p3dlib.c', - 'q3data/polyset.c', - 'q3data/q3data.c', - 'q3data/stripper.c', - 'q3data/video.c' ] - -q3data_full_src = [ ] -for i in q3data_common_src + q3data_src: - q3data_full_src.append('tools/quake3/' + i) - -q3data_prog = q3data_env.Program( target = 'q3data.' + g_cpu, source = q3data_full_src, LIBS=['mathlib', 'l_net'], LIBPATH='libs' ) -q3data_env.Depends(q3data_prog, mathlib_lib) -q3data_env.Depends(q3data_prog, l_net_lib) -q3data_env.Install( INSTALL, q3data_prog ) - -# end q3data ---------------------------------------------------------------------- - -# q2_tools --------------------------------------------------------------------------- - -q2_tools_env = g_env.Copy() -q2_tools_env['CPPPATH'].append('include') -q2_tools_env.useXML2() -q2_tools_env.usePThread() -q2_tools_env.Prepend(CPPPATH='tools/quake2/common') - -q2_tools_common_src = [ - 'common/bspfile.c', - 'common/cmdlib.c', - 'common/inout.c', - 'common/l3dslib.c', - 'common/lbmlib.c', - 'common/mathlib.c', - 'common/md4.c', - 'common/path_init.c', - 'common/polylib.c', - 'common/scriplib.c', - 'common/threads.c', - 'common/trilib.c' -] - - -q2_tools_q2map_src = [ - 'q2map/brushbsp.c', - 'q2map/csg.c', - 'q2map/faces.c', - 'q2map/flow.c', - 'q2map/glfile.c', - 'q2map/leakfile.c', - 'q2map/lightmap.c', - 'q2map/main.c', - 'q2map/map.c', - 'q2map/nodraw.c', - 'q2map/patches.c', - 'q2map/portals.c', - 'q2map/prtfile.c', - 'q2map/qbsp.c', - 'q2map/qrad.c', - 'q2map/qvis.c', - 'q2map/textures.c', - 'q2map/trace.c', - 'q2map/tree.c', - 'q2map/writebsp.c' -] - -q2_tools_qdata3_common_src = [ - 'common/bspfile.c', - 'common/cmdlib.c', - 'common/inout.c', - 'common/l3dslib.c', - 'common/lbmlib.c', - 'common/mathlib.c', - 'common/md4.c', - 'common/path_init.c', - 'common/scriplib.c', - 'common/threads.c', - 'common/trilib.c' -] - -q2_tools_qdata3_src = [ - 'qdata/images.c', - 'qdata/models.c', - 'qdata/qdata.c', - 'qdata/sprites.c', - 'qdata/tables.c', - 'qdata/video.c' -] - -q2_tools_q2map_full_src = [ ] -for i in q2_tools_common_src + q2_tools_q2map_src: - q2_tools_q2map_full_src.append('tools/quake2/' + i) - -q2_tools_qdata3_full_src = [ ] -for i in q2_tools_common_src + q2_tools_qdata3_src: - q2_tools_qdata3_full_src.append('tools/quake2/' + i) - -if ( OS != 'Darwin' ): - q2_tools_q2map_prog = q2_tools_env.Program(target='quake2_tools/q2map', source=q2_tools_q2map_full_src, LIBS='l_net', LIBPATH='libs') - q2_tools_env.Depends(q2_tools_q2map_prog, l_net_lib) - q2_tools_env.Install(INSTALL, q2_tools_q2map_prog ) - - q2_tools_qdata3_prog = q2_tools_env.Program(target='quake2_tools/qdata3', source=q2_tools_qdata3_full_src, LIBS='l_net', LIBPATH='libs') - q2_tools_env.Depends(q2_tools_qdata3_prog, l_net_lib) - q2_tools_env.Install(INSTALL, q2_tools_qdata3_prog ) - - -# end q2_tools ---------------------------------------------------------------------- - -# qdata3_heretic2 --------------------------------------------------------------------------- - -heretic2_tools_env = g_env.Copy() -heretic2_tools_env['CPPPATH'].append('include') -heretic2_tools_env.useXML2() -heretic2_tools_env.usePThread() -heretic2_tools_env.Prepend(CPPPATH='tools/quake2/qdata_heretic2') -heretic2_tools_env.Prepend(CPPPATH='tools/quake2/qdata_heretic2/qcommon') -heretic2_tools_env.Prepend(CPPPATH='tools/quake2/qdata_heretic2/common') - -heretic2_tools_qdata3_common_src = [ - 'qdata_heretic2/common/bspfile.c', - 'qdata_heretic2/common/cmdlib.c', - 'qdata_heretic2/common/inout.c', - 'qdata_heretic2/common/l3dslib.c', - 'qdata_heretic2/common/lbmlib.c', - 'qdata_heretic2/common/mathlib.c', - 'qdata_heretic2/common/md4.c', - 'qdata_heretic2/common/path_init.c', - 'qdata_heretic2/common/qfiles.c', - 'qdata_heretic2/common/scriplib.c', - 'qdata_heretic2/common/threads.c', - 'qdata_heretic2/common/token.c', - 'qdata_heretic2/common/trilib.c' -] - -heretic2_tools_qdata3_qcommon_src = [ - 'qdata_heretic2/qcommon/reference.c', - 'qdata_heretic2/qcommon/resourcemanager.c', - 'qdata_heretic2/qcommon/skeletons.c' -] - -heretic2_tools_qdata3_src = [ - 'qdata_heretic2/animcomp.c', - 'qdata_heretic2/book.c', - 'qdata_heretic2/fmodels.c', - 'qdata_heretic2/images.c', - 'qdata_heretic2/jointed.c', - 'qdata_heretic2/models.c', - 'qdata_heretic2/pics.c', - 'qdata_heretic2/qdata.c', - 'qdata_heretic2/qd_skeletons.c', - 'qdata_heretic2/sprites.c', - 'qdata_heretic2/svdcmp.c', - 'qdata_heretic2/tables.c', - 'qdata_heretic2/tmix.c', - 'qdata_heretic2/video.c' -] - -heretic2_tools_qdata3_full_src = [ ] -for i in heretic2_tools_qdata3_common_src + heretic2_tools_qdata3_qcommon_src + heretic2_tools_qdata3_src: - heretic2_tools_qdata3_full_src.append('tools/quake2/' + i) - - -heretic2_tools_env['CCFLAGS'] += '-D_LINUX ' - -if ( OS != 'Darwin' ): - heretic2_tools_prog = heretic2_tools_env.Program(target='h2data', source=heretic2_tools_qdata3_full_src, LIBS='l_net', LIBPATH='libs') - heretic2_tools_env.Depends(heretic2_tools_prog, l_net_lib) - heretic2_tools_env.Install(INSTALL + '/heretic2', heretic2_tools_prog ) - -# end heretic2_tools ---------------------------------------------------------------------- - - - -# radiant, modules and plugins ---------------------------------------------------- - -module_env = g_env.Copy() -module_env['CPPPATH'].append('include') -if ( OS == 'Darwin' ): - module_env['LINKFLAGS'] += '-dynamiclib -ldl ' -else: - module_env['LINKFLAGS'] += '-ldl ' -module_env['LIBPREFIX'] = '' - - -vfspk3_env = module_env.Copy() -vfspk3_lst = build_list('plugins/vfspk3', 'vfspk3.cpp vfs.cpp archive.cpp') -vfspk3_env.useGlib2() -vfspk3_lib = vfspk3_env.SharedLibrarySafe(target='vfspk3', source=vfspk3_lst) -vfspk3_env.Install(INSTALL + '/modules', vfspk3_lib) - -archivepak_env = module_env.Copy() -archivepak_lst = build_list('plugins/archivepak', 'plugin.cpp archive.cpp pak.cpp') -archivepak_lib = archivepak_env.SharedLibrarySafe(target='archivepak', source=archivepak_lst, LIBS='cmdlib', LIBPATH='libs') -archivepak_env.Depends(archivepak_lib, cmdlib_lib) -archivepak_env.Install(INSTALL + '/modules', archivepak_lib) - -archivewad_env = module_env.Copy() -archivewad_lst = build_list('plugins/archivewad', 'plugin.cpp archive.cpp wad.cpp') -archivewad_lib = archivewad_env.SharedLibrarySafe(target='archivewad', source=archivewad_lst, LIBS='cmdlib', LIBPATH='libs') -archivewad_env.Depends(archivewad_lib, cmdlib_lib) -archivewad_env.Install(INSTALL + '/modules', archivewad_lib) - -archivezip_env = module_env.Copy() -archivezip_lst = build_list('plugins/archivezip', 'plugin.cpp archive.cpp pkzip.cpp zlibstream.cpp') -archivezip_env.useZLib() -archivezip_lib = archivezip_env.SharedLibrarySafe(target='archivezip', source=archivezip_lst, LIBS='cmdlib', LIBPATH='libs') -archivezip_env.Depends(archivezip_lib, cmdlib_lib) -archivezip_env.Install(INSTALL + '/modules', archivezip_lib) - -shaders_env = module_env.Copy() -shaders_lst = build_list('plugins/shaders', 'shaders.cpp plugin.cpp') -shaders_env.useGlib2() -shaders_lib = shaders_env.SharedLibrarySafe(target='shaders', source=shaders_lst, LIBS='cmdlib', LIBPATH='libs') -shaders_env.Depends(shaders_lib, cmdlib_lib) -shaders_env.Install(INSTALL + '/modules', shaders_lib) - -image_env = module_env.Copy() -image_lst = build_list('plugins/image', 'bmp.cpp jpeg.cpp image.cpp pcx.cpp tga.cpp dds.cpp') -image_lib = image_env.SharedLibrarySafe(target='image', source=image_lst, LIBS=['jpeg6', 'ddslib'], LIBPATH='libs') -image_env.Depends(image_lib, jpeg_lib) -image_env.Depends(image_lib, ddslib_lib) -image_env.Install(INSTALL + '/modules', image_lib) - -imagehl_lst=build_list('plugins/imagehl', 'imagehl.cpp hlw.cpp mip.cpp sprite.cpp') -imagehl_lib = module_env.SharedLibrarySafe(target='imagehl', source=imagehl_lst) -module_env.Install(INSTALL + '/modules', imagehl_lib) - -imageq2_lst = build_list('plugins/imageq2', 'imageq2.cpp wal.cpp wal32.cpp') -imageq2_lib = module_env.SharedLibrarySafe(target='imageq2', source=imageq2_lst) -module_env.Install(INSTALL + '/modules', imageq2_lib) - -mapq3_env = module_env.Copy() -mapq3_lst=build_list('plugins/mapq3', 'plugin.cpp parse.cpp write.cpp') -mapq3_lib = mapq3_env.SharedLibrarySafe(target='mapq3', source=mapq3_lst, LIBS='cmdlib', LIBPATH='libs') -mapq3_env.Depends(mapq3_lib, cmdlib_lib) -mapq3_env.Install(INSTALL + '/modules', mapq3_lib) - -imagepng_env = module_env.Copy() -imagepng_lst = build_list('plugins/imagepng', 'plugin.cpp') -imagepng_env.usePNG() -imagepng_lib = imagepng_env.SharedLibrarySafe(target='imagepng', source=imagepng_lst) -imagepng_env.Install(INSTALL + '/modules', imagepng_lib) - -mapxml_env = module_env.Copy() -mapxml_lst = build_list('plugins/mapxml', 'plugin.cpp xmlparse.cpp xmlwrite.cpp') -mapxml_lib = mapxml_env.SharedLibrarySafe(target='mapxml', source=mapxml_lst) -mapxml_env.useXML2() -mapxml_env.useGlib2() -mapxml_env.Install(INSTALL + '/modules', mapxml_lib) - -model_env = module_env.Copy() -model_lst = build_list('plugins/model', 'plugin.cpp model.cpp') -model_lib = model_env.SharedLibrarySafe(target='model', source=model_lst, LIBS=['mathlib', 'picomodel'], LIBPATH='libs') -model_env.Depends(model_lib, mathlib_lib) -model_env.Depends(model_lib, picomodel_lib) -model_env.Install(INSTALL + '/modules', model_lib) - -md3model_lst=build_list('plugins/md3model', 'plugin.cpp mdl.cpp md3.cpp md2.cpp mdc.cpp mdlimage.cpp md5.cpp') -md3model_lib = module_env.SharedLibrarySafe(target='md3model', source=md3model_lst) -module_env.Install(INSTALL + '/modules', md3model_lib) - -entity_lst = build_list('plugins/entity', 'plugin.cpp entity.cpp eclassmodel.cpp generic.cpp group.cpp light.cpp miscmodel.cpp doom3group.cpp skincache.cpp angle.cpp angles.cpp colour.cpp filters.cpp model.cpp namedentity.cpp origin.cpp scale.cpp targetable.cpp rotation.cpp modelskinkey.cpp') -entity_lib = module_env.SharedLibrarySafe(target='entity', source=entity_lst) -module_env.Install(INSTALL + '/modules', entity_lib) - -bob_env = module_env.Copy() -bob_lst = build_list('contrib/bobtoolz/', -'dialogs/dialogs-gtk.cpp bobToolz-GTK.cpp bsploader.cpp cportals.cpp DBobView.cpp \ -DBrush.cpp DEntity.cpp DEPair.cpp DMap.cpp DPatch.cpp DPlane.cpp DPoint.cpp \ -DShape.cpp DTrainDrawer.cpp DTreePlanter.cpp DVisDrawer.cpp DWinding.cpp funchandlers-GTK.cpp \ -lists.cpp misc.cpp ScriptParser.cpp shapes.cpp visfind.cpp') -bob_lib = bob_env.SharedLibrarySafe(target='bobtoolz', source=bob_lst, LIBS=['mathlib', 'cmdlib', 'profile'], LIBPATH='libs') -bob_env.Depends(bob_lib, mathlib_lib) -bob_env.Depends(bob_lib, cmdlib_lib) -bob_env.Depends(bob_lib, profile_lib) -bob_env.useGlib2() -bob_env.useGtk2() -bob_env.Install(INSTALL + '/plugins', bob_lib) - -#camera_lst = build_list('contrib/camera', -#'camera.cpp dialogs.cpp dialogs_common.cpp funchandlers.cpp listener.cpp misc.cpp renderer.cpp') -#camera_lst.append('libs/libsplines.a') -#bob_env.SharedLibrarySafe(target='camera', source=camera_lst) -#bob_env.Install(INSTALL + '/plugins', 'camera.so') - -prtview_env = module_env.Copy() -prtview_lst = build_list('contrib/prtview', 'AboutDialog.cpp ConfigDialog.cpp LoadPortalFileDialog.cpp portals.cpp prtview.cpp') -prtview_env.useGlib2() -prtview_env.useGtk2() -prtview_lib = prtview_env.SharedLibrarySafe(target='prtview', source=prtview_lst, LIBS='profile', LIBPATH='libs') -prtview_env.Depends(prtview_lib, profile_lib) -prtview_env.Install(INSTALL + '/plugins', prtview_lib) - -brushexport2_env = module_env.Copy() -brushexport2_lst = build_list('contrib/brushexport', ['plugin.cpp','interface.cpp','callbacks.cpp', 'support.cpp', 'export.cpp']) -brushexport2_env.useGlib2() -brushexport2_env.useGtk2() -brushexport2_lib = brushexport2_env.SharedLibrarySafe(target='brushexport', source=brushexport2_lst, LIBPATH='libs') -brushexport2_env.Install(INSTALL + '/plugins', brushexport2_lib) - -sunplug_env = module_env.Copy() -sunplug_lst = build_list('contrib/sunplug', 'sunplug.cpp') -sunplug_env.useGlib2() -sunplug_env.useGtk2() -sunplug_lib = sunplug_env.SharedLibrarySafe(target='sunplug', source=sunplug_lst, LIBPATH='libs') -sunplug_env.Install(INSTALL + '/plugins', sunplug_lib) - -ufoai_env = module_env.Copy() -ufoai_lst = build_list('contrib/ufoaiplug', 'ufoai.cpp ufoai_filters.cpp ufoai_gtk.cpp ufoai_level.cpp') -ufoai_env.useGlib2() -ufoai_env.useGtk2() -ufoai_lib = ufoai_env.SharedLibrarySafe(target='ufoaiplug', source=ufoai_lst, LIBPATH='libs') -ufoai_env.Install(INSTALL + '/plugins', ufoai_lib) - -shaderplug_env = module_env.Copy() -shaderplug_lst = build_list('contrib/shaderplug', 'shaderplug.cpp') -shaderplug_env.useGlib2() -shaderplug_env.useGtk2() -shaderplug_env.useXML2() -shaderplug_lib = shaderplug_env.SharedLibrarySafe(target='shaderplug', source=shaderplug_lst, LIBS='xmllib', LIBPATH='libs') -shaderplug_env.Install(INSTALL + '/plugins', shaderplug_lib) - -#gensurf_lst = build_list('contrib/gtkgensurf', -#'bitmap.cpp dec.cpp face.cpp font.cpp gendlgs.cpp genmap.cpp gensurf.cpp heretic.cpp plugin.cpp view.cpp triangle.c') -#bob_env.SharedLibrarySafe(target='gensurf', source=gensurf_lst) -#bob_env.Install(INSTALL + '/plugins', 'gensurf.so') - -#bkgrnd2d_list = build_list( 'contrib/bkgrnd2d', 'bkgrnd2d.cpp plugin.cpp dialog.cpp' ) -#bkgrnd2d_list.append( 'libs/libsynapse.a' ) -#bkgrnd2d_env = module_env.Copy() -#bkgrnd2d_env.useGtk2() -#bkgrnd2d_env.SharedLibrarySafe( target='bkgrnd2d', source=bkgrnd2d_list ) -#bkgrnd2d_env.Install( INSTALL + '/plugins', 'bkgrnd2d.so' ) - -radiant_env = g_env.Copy() -radiant_env['CPPPATH'].append('include') -radiant_env['LINKFLAGS'] += '-ldl -lGL ' -if ( OS == 'Darwin' ): - radiant_env['CXXFLAGS'] += '-fno-common ' - radiant_env['CCFLAGS'] += '-fno-common ' - radiant_env['LINKFLAGS'] += '-lX11 -lGL -lGLU ' -radiant_env['LIBPREFIX'] = '' -radiant_env.useGlib2() -radiant_env.useXML2() -radiant_env.useGtk2() -radiant_env.useGtkGLExt() - -radiant_src = [ -'autosave.cpp', -'brush.cpp', -'brushmanip.cpp', -'brushmodule.cpp', -'brushnode.cpp', -'brushtokens.cpp', -'brushxml.cpp', -'brush_primit.cpp', -'build.cpp', -'camwindow.cpp', -'clippertool.cpp', -'commands.cpp', -'console.cpp', -'csg.cpp', -'dialog.cpp', -'eclass.cpp', -'eclass_def.cpp', -'eclass_doom3.cpp', -'eclass_fgd.cpp', -'eclass_xml.cpp', -'entity.cpp', -'entityinspector.cpp', -'entitylist.cpp', -'environment.cpp', -'error.cpp', -'feedback.cpp', -'filetypes.cpp', -'filters.cpp', -'findtexturedialog.cpp', -'glwidget.cpp', -'grid.cpp', -'groupdialog.cpp', -'gtkdlgs.cpp', -'gtkmisc.cpp', -'help.cpp', -'image.cpp', -'main.cpp', -'mainframe.cpp', -'map.cpp', -'mru.cpp', -'nullmodel.cpp', -'parse.cpp', -'patch.cpp', -'patchdialog.cpp', -'patchmanip.cpp', -'patchmodule.cpp', -'plugin.cpp', -'pluginapi.cpp', -'pluginmanager.cpp', -'pluginmenu.cpp', -'plugintoolbar.cpp', -'points.cpp', -'preferencedictionary.cpp', -'preferences.cpp', -'qe3.cpp', -'qgl.cpp', -'referencecache.cpp', -'renderer.cpp', -'renderstate.cpp', -'scenegraph.cpp', -'stacktrace.cpp', -'select.cpp', -'selection.cpp', -'server.cpp', -'shaders.cpp', -'sockets.cpp', -'surfacedialog.cpp', -'texmanip.cpp', -'textures.cpp', -'texwindow.cpp', -'timer.cpp', -'treemodel.cpp', -'undo.cpp', -'url.cpp', -'view.cpp', -'watchbsp.cpp', -'winding.cpp', -'windowobservers.cpp', -'xmlstuff.cpp', -'xywindow.cpp', -] - -for i in range(len(radiant_src)): - radiant_src[i] = 'radiant/' + radiant_src[i] - -radiant_libs = ['mathlib', 'cmdlib', 'l_net', 'profile', 'gtkutil', 'xmllib'] -radiant_prog = radiant_env.Program(target='radiant.' + g_cpu, source=radiant_src, LIBS=radiant_libs, LIBPATH='libs') -radiant_env.Depends(radiant_prog, mathlib_lib) -radiant_env.Depends(radiant_prog, cmdlib_lib) -radiant_env.Depends(radiant_prog, l_net_lib) -radiant_env.Depends(radiant_prog, profile_lib) -radiant_env.Depends(radiant_prog, gtkutil_lib) -radiant_env.Depends(radiant_prog, xml_lib) -radiant_env.Install(INSTALL, radiant_prog) - - -# end setup --------------------------------------------------------------------------------------- diff --git a/SConstruct b/SConstruct deleted file mode 100644 index 15d0e6a8..00000000 --- a/SConstruct +++ /dev/null @@ -1,338 +0,0 @@ -# scons build script -# http://scons.sourceforge.net - -import commands, re, sys, os, pickle, string, popen2 -from makeversion import radiant_makeversion, get_version - -# to access some internal stuff -import SCons - -conf_filename='site.conf' -# there is a default hardcoded value, you can override on command line, those are saved between runs -# we only handle strings -serialized=['CC', 'CXX', 'JOBS', 'BUILD'] - -# help ------------------------------------------- - -Help(""" -Usage: scons [OPTIONS] [TARGET] [CONFIG] - -[OPTIONS] and [TARGET] are covered in command line options, use scons -H - -[CONFIG]: KEY="VALUE" [...] -a number of configuration options saved between runs in the """ + conf_filename + """ file -erase """ + conf_filename + """ to start with default settings again - -CC -CXX - Specify C and C++ compilers (defaults gcc and g++) - ex: CC="gcc-3.2" - You can use ccache and distcc, for instance: - CC="ccache distcc gcc" CXX="ccache distcc g++" - -JOBS - Parallel build - ex: JOBS="4" is a good setting on SMP machines - -BUILD - Use debug/release to select build settings - ex: BUILD="debug" - default is debug -""" -) - -# end help --------------------------------------- - -# sanity ----------------------------------------- - -# get a recent python release -# that is broken in current version: -# http://sourceforge.net/tracker/index.php?func=detail&aid=794145&group_id=30337&atid=398971 -#EnsurePythonVersion(2,1) -# above 0.90 -EnsureSConsVersion( 0, 96 ) -print 'SCons ' + SCons.__version__ - -# end sanity ------------------------------------- - -# system detection ------------------------------- - -# TODO: detect Darwin / OSX - -# CPU type -g_cpu = commands.getoutput('uname -m') -exp = re.compile('.*i?86.*') -if (g_cpu == 'Power Macintosh' or g_cpu == 'ppc'): - g_cpu = 'ppc' -elif exp.match(g_cpu): - g_cpu = 'x86' -else: - g_cpu = 'cpu' - -# OS -OS = commands.getoutput('uname') -print "OS=\"" + OS + "\"" - -if (OS == 'Linux'): - # libc .. do the little magic! - libc = commands.getoutput('/lib/libc.so.6 |grep "GNU C "|grep version|awk -F "version " \'{ print $2 }\'|cut -b -3') - -# end system detection --------------------------- - -# default settings ------------------------------- - -CC='gcc' -CXX='g++' -JOBS='1' -BUILD='debug' -INSTALL='#install' -g_build_root = 'build' - -# end default settings --------------------------- - -# site settings ---------------------------------- - -site_dict = {} -if (os.path.exists(conf_filename)): - site_file = open(conf_filename, 'r') - p = pickle.Unpickler(site_file) - site_dict = p.load() - print 'Loading build configuration from ' + conf_filename - for k, v in site_dict.items(): - exec_cmd = k + '=\"' + v + '\"' - print exec_cmd - exec(exec_cmd) - -# end site settings ------------------------------ - -# command line settings -------------------------- - -for k in serialized: - if (ARGUMENTS.has_key(k)): - exec_cmd = k + '=\"' + ARGUMENTS[k] + '\"' - print 'Command line: ' + exec_cmd - exec(exec_cmd) - -# end command line settings ---------------------- - -# sanity check ----------------------------------- - - -def GetGCCVersion(name): - ret = commands.getstatusoutput('%s -dumpversion' % name) - if ( ret[0] != 0 ): - return None - vers = string.split(ret[1], '.') - if ( len(vers) == 2 ): - return [ vers[0], vers[1], 0 ] - elif ( len(vers) == 3 ): - return vers - return None - -ver_cc = GetGCCVersion(CC) -ver_cxx = GetGCCVersion(CXX) - -if ( ver_cc is None or ver_cxx is None or ver_cc[0] < '3' or ver_cxx[0] < '3' or ver_cc != ver_cxx ): - print 'Compiler version check failed - need gcc 3.x or later:' - print 'CC: %s %s\nCXX: %s %s' % ( CC, repr(ver_cc), CXX, repr(ver_cxx) ) - Exit(1) - -# end sanity check ------------------------------- - -# save site configuration ---------------------- - -for k in serialized: - exec_cmd = 'site_dict[\'' + k + '\'] = ' + k - exec(exec_cmd) - -site_file = open(conf_filename, 'w') -p = pickle.Pickler(site_file) -p.dump(site_dict) -site_file.close() - -# end save site configuration ------------------ - -# general configuration, target selection -------- - -SConsignFile( "scons.signatures" ) - -g_build = g_build_root + '/' + BUILD - -SetOption('num_jobs', JOBS) - -LINK = CXX -# common flags -warningFlags = '-W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter ' -warningFlagsCXX = '-Wno-non-virtual-dtor -Wreorder ' # -Wold-style-cast -# POSIX macro: platform supports posix IEEE Std 1003.1:2001 -# XWINDOWS macro: platform supports X-Windows API -CCFLAGS = '-DPOSIX -DXWINDOWS ' + warningFlags -CXXFLAGS = '-pipe -DPOSIX -DXWINDOWS ' + warningFlags + warningFlagsCXX -CPPPATH = [] -if (BUILD == 'debug'): - CXXFLAGS += '-g3 -D_DEBUG ' - CCFLAGS += '-g3 -D_DEBUG ' -elif (BUILD == 'release' or BUILD == 'final'): - CXXFLAGS += '-O2 ' - CCFLAGS += '-O2 ' -else: - print 'Unknown build configuration ' + BUILD - sys.exit( 0 ) - -LINKFLAGS = '' -if ( OS == 'Linux' ): - - if ( BUILD == 'final' ): - # static - # 2112833 /opt/gtkradiant/radiant.x86 - # 35282 /opt/gtkradiant/modules/archivezip.so - # 600099 /opt/gtkradiant/modules/entity.so - - # dynamic - # 2237060 /opt/gtkradiant/radiant.x86 - # 110605 /opt/gtkradiant/modules/archivezip.so - # 730222 /opt/gtkradiant/modules/entity.so - - # EVIL HACK - force static-linking for libstdc++ - create a symbolic link to the static libstdc++ in the root - os.system("ln -s `g++ -print-file-name=libstdc++.a`") - - #if not os.path.exists("./install"): - # os.mkdir("./install") - #os.system("cp `g++ -print-file-name=libstdc++.so` ./install") - - # -fPIC might be worth removing when building for 32-bit x86 - CCFLAGS += '-fPIC ' - CXXFLAGS += '-fPIC -fno-exceptions -fno-rtti ' - LINKFLAGS += '-fPIC -Wl,-fini,fini_stub -L. -static-libgcc ' - -if ( OS == 'Darwin' ): - CCFLAGS += '-force_cpusubtype_ALL -fPIC ' - CXXFLAGS += '-force_cpusubtype_ALL -fPIC -fno-exceptions -fno-rtti ' - CPPPATH.append('/sw/include') - CPPPATH.append('/usr/X11R6/include') - LINKFLAGS += '-L/sw/lib -L/usr/lib -L/usr/X11R6/lib ' - -CPPPATH.append('libs') - -# extend the standard Environment a bit -class idEnvironment(Environment): - - def __init__(self): - Environment.__init__(self, - ENV = os.environ, - CC = CC, - CXX = CXX, - LINK = LINK, - CCFLAGS = CCFLAGS, - CXXFLAGS = CXXFLAGS, - CPPPATH = CPPPATH, - LINKFLAGS = LINKFLAGS) - - def useGlib2(self): - self['CXXFLAGS'] += '`pkg-config glib-2.0 --cflags` ' - self['CCFLAGS'] += '`pkg-config glib-2.0 --cflags` ' - if BUILD == 'final': - self['LINKFLAGS'] += '-lglib-2.0 ' - else: - self['LINKFLAGS'] += '`pkg-config glib-2.0 --libs` ' - - - def useXML2(self): - self['CXXFLAGS'] += '`xml2-config --cflags` ' - self['CCFLAGS'] += '`xml2-config --cflags` ' - if BUILD == 'final': - self['LINKFLAGS'] += '-lxml2 ' - else: - self['LINKFLAGS'] += '`xml2-config --libs` ' - - def useGtk2(self): - self['CXXFLAGS'] += '`pkg-config gtk+-2.0 --cflags` ' - self['CCFLAGS'] += '`pkg-config gtk+-2.0 --cflags` ' - if BUILD == 'final': - self['LINKFLAGS'] += '-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpango-1.0 -lgdk_pixbuf-2.0 ' - else: - self['LINKFLAGS'] += '`pkg-config gtk+-2.0 --libs-only-L` `pkg-config gtk+-2.0 --libs-only-l` ' - - def useGtkGLExt(self): - self['CXXFLAGS'] += '`pkg-config gtkglext-1.0 --cflags` ' - self['CCFLAGS'] += '`pkg-config gtkglext-1.0 --cflags` ' - #if BUILD == 'final': - self['LINKFLAGS'] += '-lgtkglext-x11-1.0 -lgdkglext-x11-1.0 ' - # apparently pkg-config for gtkglext includes --export-dynamic, which b0rks everything. - #else: - # self['LINKFLAGS'] += 'pkg-config gtkglext-1.0 --libs-only-L` `pkg-config gtkglext-1.0 --libs-only-l` ' - - def usePNG(self): - self['CXXFLAGS'] += '`libpng-config --cflags` ' - self['CCFLAGS'] += '`libpng-config --cflags` ' - self['LINKFLAGS'] += '`libpng-config --ldflags` ' - - def useMHash(self): - self['LINKFLAGS'] += '-lmhash ' - - def useZLib(self): - self['LINKFLAGS'] += '-lz ' - - def usePThread(self): - if ( OS == 'Darwin' ): - self['LINKFLAGS'] += '-lpthread -Wl,-stack_size,0x400000 ' - else: - self['LINKFLAGS'] += '-lpthread ' - - def CheckLDD(self, target, source, env): - file = target[0] - if (not os.path.isfile(file.abspath)): - print('ERROR: CheckLDD: target %s not found\n' % target[0]) - Exit(1) - # not using os.popen3 as I want to check the return code - ldd = popen2.Popen3('`which ldd` -r %s' % target[0], 1) - stdout_lines = ldd.fromchild.readlines() - stderr_lines = ldd.childerr.readlines() - ldd_ret = ldd.wait() - del ldd - have_undef = 0 - if ( ldd_ret != 0 ): - print "ERROR: ldd command returned with exit code %d" % ldd_ret - os.system('rm %s' % target[0]) - Exit() - for i_line in stderr_lines: - print repr(i_line) - regex = re.compile('undefined symbol: (.*)\t\\((.*)\\)\n') - if ( regex.match(i_line) ): - symbol = regex.sub('\\1', i_line) - try: - env['ALLOWED_SYMBOLS'].index(symbol) - except: - have_undef = 1 - else: - print "ERROR: failed to parse ldd stderr line: %s" % i_line - os.system('rm %s' % target[0]) - Exit(1) - if ( have_undef ): - print "ERROR: undefined symbols" - os.system('rm %s' % target[0]) - Exit(1) - - def SharedLibrarySafe(self, target, source, LIBS=[], LIBPATH='.'): - result = self.SharedLibrary(target, source, LIBS=LIBS, LIBPATH=LIBPATH) - if (OS != 'Darwin'): - AddPostAction(target + '.so', self.CheckLDD) - return result - -g_env = idEnvironment() - -# export the globals -GLOBALS = 'g_env INSTALL g_cpu' - -radiant_makeversion('\\ngcc version: %s.%s.%s' % ( ver_cc[0], ver_cc[1], ver_cc[2] ) ) - -# end general configuration ---------------------- - -# targets ---------------------------------------- - -Default('.') - -Export('GLOBALS ' + GLOBALS) -BuildDir(g_build, '.', duplicate = 0) -SConscript(g_build + '/SConscript') - -# end targets ------------------------------------ -- 2.39.2