From: <al...@us...> - 2006-07-21 19:22:14
|
Revision: 526 Author: allenb Date: 2006-07-21 12:22:11 -0700 (Fri, 21 Jul 2006) ViewCVS: http://svn.sourceforge.net/xml-cppdom/?rev=526&view=rev Log Message: ----------- Fix up repository. Added Paths: ----------- branches/import_trunk/ Removed Paths: ------------- trunk/cppdom/ Copied: branches/import_trunk (from rev 525, trunk/cppdom) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2006-07-23 21:23:19
|
Revision: 531 Author: allenb Date: 2006-07-23 14:23:14 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/xml-cppdom/?rev=531&view=rev Log Message: ----------- Updated the build to use the new evironment builder command line capabilities. Modified Paths: -------------- trunk/SConstruct trunk/cppdom/cppdom.cpp Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-07-23 19:48:58 UTC (rev 530) +++ trunk/SConstruct 2006-07-23 21:23:14 UTC (rev 531) @@ -88,24 +88,27 @@ platform = SConsAddons.Util.GetPlatform() unspecified_prefix = "use-instlinks" -#default_libdir = 'lib' +buildDir = "build." + platform +option_filename = "config.cache." + platform if GetPlatform() == "win32": common_env = Environment() else: common_env = Environment(ENV = os.environ) +registerConfigBuilder(common_env) # Variant setup (get defaults) default_types = ["debug","optimized"] if GetPlatform() == "win32": default_types.append("hybrid") default_libtypes = ["static","shared"] -default_archs = ["32","64"] +default_archs = ["ia32","x64"] +base_bldr = EnvironmentBuilder() + # --------------- # # --- OPTIONS --- # # --------------- # -option_filename = "config.cache." + platform opts = sca_opts.Options(files = [option_filename, 'options.custom'], args= ARGUMENTS) @@ -124,11 +127,10 @@ opts.Add('build_test', 'Build the test programs', 'yes') opts.Add(sca_opts.BoolOption('versioning', 'If no then build only libraries and headers without versioning', True)) -opts.Add(sca_opts.BoolOption('universal', 'Build universal binaries (Mac OS X only)',True)) -opts.Add('sdk', 'Platform SDK (Mac OS X only)', '') if common_env.has_key("MSVS"): opts.Add('MSVS_VERSION', 'Set to specific version of MSVS to use. %s'%str(common_env['MSVS']['VERSIONS']), common_env['MSVS']['VERSION']) +base_bldr.addOptions(opts) opts.Process(common_env) @@ -152,11 +154,11 @@ opts.Save(option_filename, common_env) except LookupError, le: pass - - registerConfigBuilder(common_env) - - buildDir = "build." + platform + # -- Common builder settings + base_bldr.readOptions(common_env) + base_bldr.enableWarnings() + # If defaulting to instlinks prefix: # - Use symlinks # - Manually set the used prefix to the instlinks of the build dir @@ -199,7 +201,7 @@ # Update environment for boost options if boost_options.isAvailable(): boost_options.apply(common_env) - + # ---- FOR EACH VARIANT ----- # variant_pass = -1 # Id of the pass, useful for one-time things for combo in var_combos: @@ -207,35 +209,26 @@ inst_paths = copy.copy(base_inst_paths) # -- Setup Environment builder --- # - env_bldr = EnvironmentBuilder() - # xxx: loop invariant - env_bldr.enableWarnings(EnvironmentBuilder.MINIMAL) - + env_bldr = base_bldr.clone() + # Process modifications for variant combo # xxx: standard if combo["type"] == "debug": env_bldr.enableDebug() env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DBG_DLL_RT) elif combo["type"] == "optimized": - env_bldr.enableOpt(EnvironmentBuilder.STANDARD) + env_bldr.enableOpt() env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DLL_RT) elif combo["type"] == "hybrid": env_bldr.enableDebug() env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DLL_RT) - if "32" == combo["arch"]: + if "ia32" == combo["arch"]: env_bldr.setCpuArch(EnvironmentBuilder.IA32_ARCH) - elif "64" == combo["arch"]: + elif "x64" == combo["arch"]: env_bldr.setCpuArch(EnvironmentBuilder.X64_ARCH) inst_paths['lib'] = inst_paths['lib'] + '64' - # xxx: loop invariant - if common_env["universal"] == True: - env_bldr.darwin_enableUniversalBinaries(); - - # xxx: loop invariant - if common_env["sdk"] != "": - env_bldr.darwin_setSdk(common_env["sdk"]) # --- Build environment --- # baseEnv = env_bldr.applyToEnvironment(common_env.Copy(), variant=combo,options=opts) @@ -266,7 +259,7 @@ if "shared" in combo["libtype"]: cppdom_app_libname = cppdom_shared_libname elif "static" in combo["libtype"]: - cppdom_app_libname = cppdom_static_libname, sources + cppdom_app_libname = cppdom_static_libname Export('baseEnv','inst_paths','opts', 'variant_pass','combo', 'cppunit_options', 'boost_options', @@ -287,9 +280,9 @@ provides += "_%s"%combo["type"] arch = "noarch" - if "32" == combo["arch"]: + if "ia32" == combo["arch"]: arch = "i386" - elif "64" == combo["arch"]: + elif "x64" == combo["arch"]: arch = "x86_64" # - Define a builder for the cppdom.pc file Modified: trunk/cppdom/cppdom.cpp =================================================================== --- trunk/cppdom/cppdom.cpp 2006-07-23 19:48:58 UTC (rev 530) +++ trunk/cppdom/cppdom.cpp 2006-07-23 21:23:14 UTC (rev 531) @@ -111,6 +111,8 @@ // Remove escaping from xml text std::string removeXmlEscaping(const std::string& data, bool isCdata) { + cppdom::ignore_unused_variable_warning(isCdata); + std::string ret_str; for(std::string::size_type i = 0; i < data.size(); ++i) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <al...@us...> - 2006-07-24 00:39:23
|
Revision: 534 Author: allenb Date: 2006-07-23 17:39:18 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/xml-cppdom/?rev=534&view=rev Log Message: ----------- Update build to use the new variant builder iterate() method. Modified Paths: -------------- trunk/SConstruct trunk/cppdom/SConscript trunk/test/SConscript trunk/test/suite/SConscript Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-07-23 23:49:43 UTC (rev 533) +++ trunk/SConstruct 2006-07-24 00:39:18 UTC (rev 534) @@ -123,7 +123,12 @@ variant_helper.readOptions(common_env) base_bldr.readOptions(common_env) base_bldr.enableWarnings() - + + # Apply any common package options + # Update environment for boost options + if boost_options.isAvailable(): + boost_options.apply(common_env) + # If defaulting to instlinks prefix: # - Use symlinks # - Manually set the used prefix to the instlinks of the build dir @@ -147,73 +152,25 @@ base_inst_paths['include'] = pj(base_inst_paths['base'], 'include') print "using prefix: ", base_inst_paths['base'] - # Define the variants to use - # - variant[key] - ([option_list,], is alternative) - variants = variant_helper.variants - - # Return list of combos - # [ {"var":"option", "var2":["op1","op2"], .. } - var_combos = sca_variants.zipVariants(variants) + print "types: ", variant_helper.variants["type"] + print "libtypes: ", variant_helper.variants["libtype"] + print "archs: ", variant_helper.variants["arch"] - print "types: ", variants["type"] - print "libtypes: ", variants["libtype"] - print "archs: ", variants["arch"] + sub_dirs = ['cppdom'] + if common_env['build_test'] == 'yes': + sub_dirs.append('test') - # Apply any common package options - # Update environment for boost options - if boost_options.isAvailable(): - boost_options.apply(common_env) - - # ---- FOR EACH VARIANT ----- # - variant_pass = -1 # Id of the pass, useful for one-time things - for combo in var_combos: - variant_pass += 1 # xxx: standard + # ---- FOR EACH VARIANT ----- # + for combo in variant_helper.iterate(locals(), base_bldr, common_env): + #baseEnv = env_bldr.applyToEnvironment(common_env.Copy(), variant=combo,options=opts) + print " Processing combo: ", ", ".join(['%s:%s'%(i[0],i[1]) for i in combo.iteritems()]) + inst_paths = copy.copy(base_inst_paths) - - # -- Setup Environment builder --- # - env_bldr = base_bldr.clone() - - # Process modifications for variant combo - # xxx: standard - if combo["type"] == "debug": - env_bldr.enableDebug() - env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DBG_DLL_RT) - elif combo["type"] == "optimized": - env_bldr.enableOpt() - env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DLL_RT) - elif combo["type"] == "hybrid": - env_bldr.enableDebug() - env_bldr.setMsvcRuntime(EnvironmentBuilder.MSVC_MT_DLL_RT) - - if "ia32" == combo["arch"]: - env_bldr.setCpuArch(EnvironmentBuilder.IA32_ARCH) - elif "x64" == combo["arch"]: - env_bldr.setCpuArch(EnvironmentBuilder.X64_ARCH) + if GetPlatform() != "win32" and "debug" == combo["type"]: + inst_paths["lib"] = pj(inst_paths["lib"],"debug") + if "x64" == combo["arch"]: inst_paths['lib'] = inst_paths['lib'] + '64' - - - # --- Build environment --- # - baseEnv = env_bldr.applyToEnvironment(common_env.Copy(), variant=combo,options=opts) - - # Determine the build dir for this variant - # xxx: common - dir_parts = ['%s-%s'%(i[0],i[1]) for i in combo.iteritems() if not isinstance(i[1],(types.ListType))] - full_build_dir = pj(buildDir,"--".join(dir_parts)) - # Build up library name and paths to use - # xxx: common - (static_lib_suffix,shared_lib_suffix) = ("","") - if GetPlatform() == "win32": - if combo["type"] == "debug": - (static_lib_suffix,shared_lib_suffix) = ("_d_s","_d") - elif combo["type"] == "optimized": - (static_lib_suffix,shared_lib_suffix) = ("_s","") - elif combo["type"] == "hybrid": - (static_lib_suffix,shared_lib_suffix) = ("_h_s","_h") - else: - if combo["type"] == "debug": - inst_paths["lib"] = pj(inst_paths["lib"],"debug") - cppdom_shared_libname = 'cppdom' + shared_lib_suffix + version_suffix cppdom_static_libname = 'cppdom' + static_lib_suffix + version_suffix @@ -223,16 +180,13 @@ elif "static" in combo["libtype"]: cppdom_app_libname = cppdom_static_libname - Export('baseEnv','inst_paths','opts', 'variant_pass','combo', + Export('build_env','inst_paths','opts', 'variant_pass','combo', 'cppunit_options', 'boost_options', 'cppdom_shared_libname','cppdom_static_libname', 'cppdom_app_libname') - - dirs = ['cppdom'] - if common_env['build_test'] == 'yes': - dirs.append('test') - + # Process subdirectories - for d in dirs: + full_build_dir = pj(buildDir,combo_dir) + for d in sub_dirs: SConscript(pj(d,'SConscript'), build_dir=pj(full_build_dir, d), duplicate=0) # Build up the provides vars for the .fpc files @@ -270,10 +224,10 @@ if combo["type"] != "optimized": name_parts.append(combo["type"]) pc_filename = "-".join(name_parts) + ".fpc" - cppdom_pc = baseEnv.SubstBuilder(pj(inst_paths['pkgconfig'],pc_filename), + cppdom_pc = build_env.SubstBuilder(pj(inst_paths['pkgconfig'],pc_filename), 'cppdom.fpc.in', submap=submap) - baseEnv.AddPostAction (cppdom_pc, Chmod('$TARGET', 0644)) - baseEnv.Depends(cppdom_pc, 'cppdom/version.h') + build_env.AddPostAction (cppdom_pc, Chmod('$TARGET', 0644)) + build_env.Depends(cppdom_pc, 'cppdom/version.h') ## Setup the builder for cppdom-config #if GetPlatform() != 'win32': Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2006-07-23 23:49:43 UTC (rev 533) +++ trunk/cppdom/SConscript 2006-07-24 00:39:18 UTC (rev 534) @@ -27,7 +27,7 @@ if boost_options.isAvailable(): sources.append("SpiritParser.cpp") -cppdom_lib_env = baseEnv.Copy() +cppdom_lib_env = build_env.Copy() cppdom_lib_env.Append(CPPPATH = [inst_paths['include'],], CPPDEFINES=["CPPDOM_EXPORTS",]) Modified: trunk/test/SConscript =================================================================== --- trunk/test/SConscript 2006-07-23 23:49:43 UTC (rev 533) +++ trunk/test/SConscript 2006-07-24 00:39:18 UTC (rev 534) @@ -4,9 +4,7 @@ import os pj = os.path.join - - -test_env = baseEnv.Copy() +test_env = build_env.Copy() test_env.Append(CPPPATH = [inst_paths['include'], '#test'], LIBPATH = [inst_paths['lib'],], LIBS = [cppdom_app_libname]) Modified: trunk/test/suite/SConscript =================================================================== --- trunk/test/suite/SConscript 2006-07-23 23:49:43 UTC (rev 533) +++ trunk/test/suite/SConscript 2006-07-24 00:39:18 UTC (rev 534) @@ -16,7 +16,7 @@ if boost_options.isAvailable(): sources.append("TestCases/SpiritTest.cpp") -env = baseEnv.Copy() +env = build_env.Copy() env.Append(CPPPATH = [inst_paths['include'], '#test', pj('#test','suite')], LIBPATH = [inst_paths['lib'],], LIBS = [cppdom_app_libname]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2006-11-07 22:10:04
|
Revision: 559 http://svn.sourceforge.net/xml-cppdom/?rev=559&view=rev Author: patrickh Date: 2006-11-07 14:09:58 -0800 (Tue, 07 Nov 2006) Log Message: ----------- Do not put the CppDOM headers into a verioned directory when installing on Windows. This was discussed several weeks ago on xml-cppdom-devel@. Modified Paths: -------------- trunk/ChangeLog trunk/SConstruct trunk/cppdom/version.h Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2006-09-20 16:40:55 UTC (rev 558) +++ trunk/ChangeLog 2006-11-07 22:09:58 UTC (rev 559) @@ -1,5 +1,8 @@ DATE AUTHOR CHANGE ---------- ----------- ------------------------------------------------------- +2006-11-07 patrickh Do not put headers into a versioned directory on + Windows. + VERSION: 0.7.7 2006-07-13 patrickh Implemented automatic linking on Windows. VERSION: 0.7.6 2006-07-13 patrickh Moved the declaration of cppdom::getVersion() to Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-09-20 16:40:55 UTC (rev 558) +++ trunk/SConstruct 2006-11-07 22:09:58 UTC (rev 559) @@ -138,13 +138,19 @@ base_inst_paths['lib'] = pj(base_inst_paths['base'], 'lib') base_inst_paths['flagpoll'] = pj(base_inst_paths['lib'], 'flagpoll') base_inst_paths['bin'] = pj(base_inst_paths['base'], 'bin') - if common_env['versioning'] == True: + include_dir = pj(base_inst_paths['base'], 'include') + + if common_env['versioning']: version_suffix = "-%s_%s_%s" % CPPDOM_VERSION - base_inst_paths['include'] = pj(base_inst_paths['base'], 'include', - "cppdom-%s.%s.%s" % CPPDOM_VERSION) + + # We do not use a versioned header directory on Windows. + if not sys.platform.startswith('win'): + include_dir = pj(base_inst_paths['base'], 'include', + "cppdom-%s.%s.%s" % CPPDOM_VERSION) else: version_suffix = '' - base_inst_paths['include'] = pj(base_inst_paths['base'], 'include') + + base_inst_paths['include'] = include_dir print "using prefix: ", base_inst_paths['base'] print "types: ", variant_helper.variants["type"] Modified: trunk/cppdom/version.h =================================================================== --- trunk/cppdom/version.h 2006-09-20 16:40:55 UTC (rev 558) +++ trunk/cppdom/version.h 2006-11-07 22:09:58 UTC (rev 559) @@ -55,7 +55,7 @@ // The major/minor/patch version (up to 3 digits each). #define CPPDOM_VERSION_MAJOR 0 #define CPPDOM_VERSION_MINOR 7 -#define CPPDOM_VERSION_PATCH 6 +#define CPPDOM_VERSION_PATCH 7 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2006-11-07 23:32:39
|
Revision: 561 http://svn.sourceforge.net/xml-cppdom/?rev=561&view=rev Author: patrickh Date: 2006-11-07 15:32:35 -0800 (Tue, 07 Nov 2006) Log Message: ----------- When using Visual C++ 8.0 or newer, embed the DLL manifest into the DLL. This implementation is pretty lame, but it seems to work. Too bad that SCons doesn't provide a simpler way of getting this same result. :( Modified Paths: -------------- trunk/SConstruct trunk/cppdom/SConscript Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-11-07 22:34:22 UTC (rev 560) +++ trunk/SConstruct 2006-11-07 23:32:35 UTC (rev 561) @@ -60,7 +60,6 @@ if GetPlatform() == "win32": if ARGUMENTS.has_key("MSVS_VERSION"): common_env = Environment(MSVS_VERSION = ARGUMENTS["MSVS_VERSION"]) - common_env['WINDOWS_INSERT_MANIFEST'] = True else: common_env = Environment() else: Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2006-11-07 22:34:22 UTC (rev 560) +++ trunk/cppdom/SConscript 2006-11-07 23:32:35 UTC (rev 561) @@ -33,7 +33,13 @@ # If should not do static only, then create static and shared libraries if "shared" in combo["libtype"]: - cppdom_lib = cppdom_lib_env.SharedLibrary(cppdom_shared_libname, sources) + shlinkcom = cppdom_lib_env['SHLINKCOM'] + # When using Visual C++ 8.0 or newer, embed the manifest in the DLL. + if float(cppdom_lib_env['MSVS_VERSION']) >= 8.0: + shlinkcom = [shlinkcom, + 'mt.exe -manifest ${TARGET}.manifest -outputresource:$TARGET;2'] + cppdom_lib = cppdom_lib_env.SharedLibrary(cppdom_shared_libname, sources, + SHLINKCOM = shlinkcom) cppdom_lib_env.Install(inst_paths['lib'], cppdom_lib) if "static" in combo["libtype"]: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2006-11-09 14:43:18
|
Revision: 565 http://svn.sourceforge.net/xml-cppdom/?rev=565&view=rev Author: patrickh Date: 2006-11-09 06:43:04 -0800 (Thu, 09 Nov 2006) Log Message: ----------- It appears to me that cppdom.pc is not being generated, so we ought not to have any use for cppdom.pc.in. Modified Paths: -------------- trunk/SConstruct Removed Paths: ------------- trunk/cppdom.pc.in Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-11-08 17:45:49 UTC (rev 564) +++ trunk/SConstruct 2006-11-09 14:43:04 UTC (rev 565) @@ -206,7 +206,7 @@ elif "x64" == combo["arch"]: arch = "x86_64" - # - Define a builder for the cppdom.pc file + # - Define a builder for the cppdom.fpc file # ------------------ Build -config and .pc files ----------------- # # Build up substitution map submap = { @@ -223,7 +223,7 @@ '@version@' : cppdom_version_str } - # Setup the builder for cppdom.pc + # Setup the builder for cppdom.fpc if GetPlatform() != 'win32': name_parts = ['cppdom',cppdom_version_str,arch] if combo["type"] != "optimized": Deleted: trunk/cppdom.pc.in =================================================================== --- trunk/cppdom.pc.in 2006-11-08 17:45:49 UTC (rev 564) +++ trunk/cppdom.pc.in 2006-11-09 14:43:04 UTC (rev 565) @@ -1,17 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -cxxflags=@cppdom_cxxflags@ -includedir=@includedir@ -libs=@cppdom_libs@ -libdir=@libdir@ -version_major=@VERSION_MAJOR@ -version_minor=@VERSION_MINOR@ -version_patch=@VERSION_PATCH@ - -Name: XML CppDom -Version: ${version_major}.${version_minor}.${version_patch} -Description: A C++ based XML loader and writer with an internal DOM representation. -URL: http://xml-cppdom.sf.net -Requires: -Libs: -L${libdir} ${libs} -Cflags: -I${includedir} -I${cxxflags} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-06-25 21:10:29
|
Revision: 591 http://svn.sourceforge.net/xml-cppdom/?rev=591&view=rev Author: patrickh Date: 2007-06-25 14:10:29 -0700 (Mon, 25 Jun 2007) Log Message: ----------- Fixed static linking on Windows. Modified Paths: -------------- trunk/cppdom/SConscript trunk/cppdom/config.h trunk/test/SConscript Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2007-06-25 16:51:06 UTC (rev 590) +++ trunk/cppdom/SConscript 2007-06-25 21:10:29 UTC (rev 591) @@ -28,8 +28,7 @@ sources.append("SpiritParser.cpp") cppdom_lib_env = build_env.Copy() -cppdom_lib_env.Append(CPPPATH = [inst_paths['include'],], - CPPDEFINES=["CPPDOM_EXPORTS",]) +cppdom_lib_env.Append(CPPPATH = [inst_paths['include'],]) # If should not do static only, then create static and shared libraries if "shared" in combo["libtype"]: @@ -38,13 +37,16 @@ if cppdom_lib_env.has_key('MSVS_VERSION') and float(cppdom_lib_env['MSVS_VERSION']) >= 8.0: shlinkcom = [shlinkcom, 'mt.exe -manifest ${TARGET}.manifest -outputresource:$TARGET;2'] - cppdom_lib = cppdom_lib_env.SharedLibrary(cppdom_shared_libname, sources, - SHLINKCOM = shlinkcom) - cppdom_lib_env.Install(inst_paths['lib'], cppdom_lib) + cppdom_shared_lib_env = cppdom_lib_env.Copy() + cppdom_shared_lib_env.AppendUnique(CPPDEFINES = ["CPPDOM_EXPORTS", "CPPDOM_DYN_LINK"]) + cppdom_lib = cppdom_shared_lib_env.SharedLibrary(cppdom_shared_libname, sources, + SHLINKCOM = shlinkcom) + cppdom_shared_lib_env.Install(inst_paths['lib'], cppdom_lib) if "static" in combo["libtype"]: - cppdom_static_lib = cppdom_lib_env.StaticLibrary(cppdom_static_libname, sources) - cppdom_lib_env.Install(inst_paths['lib'], cppdom_static_lib) + cppdom_static_lib_env = cppdom_lib_env.Copy() + cppdom_static_lib = cppdom_static_lib_env.StaticLibrary(cppdom_static_libname, sources) + cppdom_static_lib_env.Install(inst_paths['lib'], cppdom_static_lib) if variant_pass == 0: header_path = pj(inst_paths['include'],'cppdom') Modified: trunk/cppdom/config.h =================================================================== --- trunk/cppdom/config.h 2007-06-25 16:51:06 UTC (rev 590) +++ trunk/cppdom/config.h 2007-06-25 21:10:29 UTC (rev 591) @@ -46,8 +46,9 @@ #define CPPDOM_CONFIG_H // ----------------------------------- -// win32 configuration -#if defined(WIN32) || defined(WIN64) +// win32 DLL configuration +#if (defined(WIN32) || defined(WIN64)) && \ + (defined(CPPDOM_AUTO_LINK) || defined(CPPDOM_DYN_LINK)) // switch some warnings off # pragma warning( disable: 4786 4275 4251 ) @@ -99,6 +100,7 @@ # endif /* defined(_MSC_VER) && (defined(CPPDOM_AUTO_LINK) || defined(CPPDOM_DYN_LINK)) */ # endif /* defined(CPPDOM_EXPORTS) */ +// UNIX handling and static linking on Windows. #else # define CPPDOM_EXPORT(ret) ret # define CPPDOM_CLASS Modified: trunk/test/SConscript =================================================================== --- trunk/test/SConscript 2007-06-25 16:51:06 UTC (rev 590) +++ trunk/test/SConscript 2007-06-25 21:10:29 UTC (rev 591) @@ -15,6 +15,9 @@ parsetest """) +if "shared" in combo["libtype"]: + test_env.AppendUnique(CPPDEFINES = ["CPPDOM_DYN_LINK"]) + for t in tests: test_prog = test_env.Program(t, t+'.cpp') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-06-25 22:00:29
|
Revision: 593 http://svn.sourceforge.net/xml-cppdom/?rev=593&view=rev Author: patrickh Date: 2007-06-25 15:00:32 -0700 (Mon, 25 Jun 2007) Log Message: ----------- Clean up the debug/hybrid handling (at least in my view of "clean"). Instead of checking for _DEBUG, check for CPPDOM_DEBUG and let the usage of _DEBUG indicate whether the debug VC++ runtime is to be used. This removes the use of the preprocessor symbol _USE_RELEASE_RUNTIME. Modified Paths: -------------- trunk/cppdom/SConscript trunk/cppdom/config.h trunk/test/SConscript Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2007-06-25 21:58:54 UTC (rev 592) +++ trunk/cppdom/SConscript 2007-06-25 22:00:32 UTC (rev 593) @@ -30,6 +30,9 @@ cppdom_lib_env = build_env.Copy() cppdom_lib_env.Append(CPPPATH = [inst_paths['include'],]) +if "debug" in combo["type"] or "hybrid" in combo["type"]: + cppdom_lib_env.AppendUnique(CPPDEFINES = ["CPPDOM_DEBUG"]) + # If should not do static only, then create static and shared libraries if "shared" in combo["libtype"]: shlinkcom = cppdom_lib_env['SHLINKCOM'] Modified: trunk/cppdom/config.h =================================================================== --- trunk/cppdom/config.h 2007-06-25 21:58:54 UTC (rev 592) +++ trunk/cppdom/config.h 2007-06-25 22:00:32 UTC (rev 593) @@ -83,8 +83,12 @@ CPPDOM_STRINGIZE(CPPDOM_VERSION_MINOR) "_" \ CPPDOM_STRINGIZE(CPPDOM_VERSION_PATCH) -# if defined(_DEBUG) && !defined(_USE_RELEASE_RUNTIME) -# define CPPDOM_LIB_RT_OPT "_d" +# if defined(CPPDOM_DEBUG) +# if defined(_DEBUG) +# define CPPDOM_LIB_RT_OPT "_d" +# else +# define CPPDOM_LIB_RT_OPT "_h" +# endif # else # define CPPDOM_LIB_RT_OPT "" # endif @@ -111,9 +115,5 @@ # define CPPDOM_CLASS #endif -#ifdef _DEBUG -#define CPPDOM_DEBUG -#endif - // ----------------------------------- #endif Modified: trunk/test/SConscript =================================================================== --- trunk/test/SConscript 2007-06-25 21:58:54 UTC (rev 592) +++ trunk/test/SConscript 2007-06-25 22:00:32 UTC (rev 593) @@ -9,15 +9,27 @@ LIBPATH = [inst_paths['lib'],], LIBS = [cppdom_app_libname]) +# On Windows, we always use automatic linking. +if GetPlatform() == "win32": + test_env.AppendUnique(CPPDEFINES = ["CPPDOM_AUTO_LINK"]) + + # Use dynamic linking if we are building against a DLL rather than a + # static library. + if "shared" in combo["libtype"]: + test_env.AppendUnique(CPPDEFINES = ["CPPDOM_DYN_LINK"]) + + # For a "hybrid" build (one that links against the release VC++ runtime + # and puts debug symbols in the compiled code) or a debug build, define + # CPPDOM_DEBUG. + if "hybrid" in combo["type"] or "debug" in combo["type"]: + test_env.AppendUnique(CPPDEFINES = ["CPPDOM_DEBUG"]) + tests = Split(""" maketree nodetest parsetest """) -if "shared" in combo["libtype"]: - test_env.AppendUnique(CPPDEFINES = ["CPPDOM_DYN_LINK"]) - for t in tests: test_prog = test_env.Program(t, t+'.cpp') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-06-26 14:13:03
|
Revision: 599 http://svn.sourceforge.net/xml-cppdom/?rev=599&view=rev Author: patrickh Date: 2007-06-26 07:13:04 -0700 (Tue, 26 Jun 2007) Log Message: ----------- CppDOM 0.7.7 has proven to be a non-starter, so update the version to 0.7.8 to account for the numerous changes that I have made in the last day. Modified Paths: -------------- trunk/ChangeLog trunk/cppdom/version.h trunk/cppdom.spec Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-06-26 14:11:54 UTC (rev 598) +++ trunk/ChangeLog 2007-06-26 14:13:04 UTC (rev 599) @@ -1,5 +1,7 @@ DATE AUTHOR CHANGE ---------- ----------- ------------------------------------------------------- +2007-06-26 patrickh Made many build fixes and improvements on Windows. + VERSION: 0.7.8 2006-11-07 patrickh Do not put headers into a versioned directory on Windows. VERSION: 0.7.7 Modified: trunk/cppdom/version.h =================================================================== --- trunk/cppdom/version.h 2007-06-26 14:11:54 UTC (rev 598) +++ trunk/cppdom/version.h 2007-06-26 14:13:04 UTC (rev 599) @@ -55,7 +55,7 @@ // The major/minor/patch version (up to 3 digits each). #define CPPDOM_VERSION_MAJOR 0 #define CPPDOM_VERSION_MINOR 7 -#define CPPDOM_VERSION_PATCH 7 +#define CPPDOM_VERSION_PATCH 8 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- Modified: trunk/cppdom.spec =================================================================== --- trunk/cppdom.spec 2007-06-26 14:11:54 UTC (rev 598) +++ trunk/cppdom.spec 2007-06-26 14:13:04 UTC (rev 599) @@ -1,7 +1,7 @@ # Spec file for cppdom. %define name cppdom -%define version 0.7.7 -%define release 2 +%define version 0.7.8 +%define release 1 Name: %{name} Summary: A C++ based XML loader and writer with an internal DOM representation. @@ -91,6 +91,9 @@ %{_libdir}/flagpoll %changelog +* Tue Jun 26 2007 Patrick Hartling <pa...@in...> 0.7.8-1 +- Updated to version 0.7.8. + * Tue Jun 26 2007 Patrick Hartling <pa...@in...> 0.7.7-2 - Added flagpoll as a requirement for cppdom-devel - Removed Conflicts directives since this can be installed in parallel with This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-06-28 20:16:11
|
Revision: 610 http://svn.sourceforge.net/xml-cppdom/?rev=610&view=rev Author: patrickh Date: 2007-06-28 13:16:14 -0700 (Thu, 28 Jun 2007) Log Message: ----------- In the CppDOM .fpc file, set the installation path relative to the location of the .fpc file as determined when flagpoll is run. This works around a long-standing problem with the CppDOM installation procedure when packaging a CppDOM release since staging areas are generally used to perform the installation prior to packaging, but this staging area is not the actual installation location (of course). Submitted by: Doug McCorkle < mccdo at iastate dot edu > Modified Paths: -------------- trunk/SConstruct trunk/cppdom.spec Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2007-06-27 21:05:13 UTC (rev 609) +++ trunk/SConstruct 2007-06-28 20:16:14 UTC (rev 610) @@ -141,7 +141,9 @@ base_inst_paths['lib'] = pj(base_inst_paths['base'], 'lib') base_inst_paths['flagpoll'] = pj(base_inst_paths['lib'], 'flagpoll') base_inst_paths['bin'] = pj(base_inst_paths['base'], 'bin') + base_inst_paths['flagpollPrefix'] = pj('${fp_file_cwd}' ,'..' ,'..') include_dir = pj(base_inst_paths['base'], 'include') + base_inst_paths['includePrefix'] = pj( base_inst_paths['flagpollPrefix'], 'include') if common_env['versioning']: version_suffix = "-%s_%s_%s" % CPPDOM_VERSION @@ -150,6 +152,8 @@ if not sys.platform.startswith('win'): include_dir = pj(base_inst_paths['base'], 'include', "cppdom-%s.%s.%s" % CPPDOM_VERSION) + base_inst_paths['includePrefix'] = pj( base_inst_paths['includePrefix'], + "cppdom-%s.%s.%s" % CPPDOM_VERSION ) else: version_suffix = '' @@ -170,10 +174,13 @@ print " Processing combo: ", ", ".join(['%s:%s'%(i[0],i[1]) for i in combo.iteritems()]) inst_paths = copy.copy(base_inst_paths) + inst_paths['libPrefix'] = pj(inst_paths['flagpollPrefix'], 'lib') if GetPlatform() != "win32" and "debug" == combo["type"]: - inst_paths["lib"] = pj(inst_paths["lib"],"debug") + inst_paths["lib"] = pj(inst_paths["lib"],"debug") + inst_paths['libPrefix'] = pj(inst_paths['libPrefix'],'debug') if "x64" == combo["arch"]: inst_paths['lib'] = inst_paths['lib'] + '64' + inst_paths['libPrefix'] = inst_paths['libPrefix'] + '64' cppdom_shared_libname = 'cppdom' + shared_lib_suffix + version_suffix cppdom_static_libname = 'cppdom' + static_lib_suffix + version_suffix @@ -224,14 +231,14 @@ # Build up substitution map submap = { '@provides@' : provides, - '@prefix@' : inst_paths['base'], + '@prefix@' : inst_paths['flagpollPrefix'], '@exec_prefix@' : '${prefix}', '@cppdom_cxxflags@' : cppdom_cxxflags, - '@includedir@' : inst_paths['include'], + '@includedir@' : inst_paths['includePrefix'], '@cppdom_extra_cxxflags@' : '', '@cppdom_extra_include_dirs@' : '', '@cppdom_libs@' : cppdom_libs, - '@libdir@' : inst_paths['lib'], + '@libdir@' : inst_paths['libPrefix'], '@arch@' : arch, '@version@' : cppdom_version_str } Modified: trunk/cppdom.spec =================================================================== --- trunk/cppdom.spec 2007-06-27 21:05:13 UTC (rev 609) +++ trunk/cppdom.spec 2007-06-28 20:16:14 UTC (rev 610) @@ -76,8 +76,6 @@ %install [ -z %{buildroot} ] || rm -rf %{buildroot} - -lib_subdir=`echo %{_libdir} | sed -e "s|%{_prefix}/\(.*\)|\1|"` CXXFLAGS="$RPM_OPT_FLAGS" LINKFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS @@ -85,8 +83,6 @@ scons prefix=%{buildroot}%{_prefix} var_arch=%{arch} var_type=optimized build_test=no install mkdir -p %{buildroot}%{_docdir}/cppdom-%{version} mv doc/html %{buildroot}%{_docdir}/cppdom-%{version} -sed -i -e 's|%{buildroot}||g' %{buildroot}%{_libdir}/flagpoll/*.fpc -sed -i -e 's|%{buildroot}||g' %{buildroot}%{_bindir}/cppdom-config # Remove all stupid scons temp files find %{buildroot}%{_prefix} -name .sconsign -exec rm {} \; for f in README AUTHORS ChangeLog COPYING ; do This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-07-07 01:18:16
|
Revision: 615 http://svn.sourceforge.net/xml-cppdom/?rev=615&view=rev Author: patrickh Date: 2007-07-06 18:18:19 -0700 (Fri, 06 Jul 2007) Log Message: ----------- Roll the version to 0.7.9. Modified Paths: -------------- trunk/ChangeLog trunk/cppdom/version.h trunk/cppdom.spec Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-07-07 01:08:34 UTC (rev 614) +++ trunk/ChangeLog 2007-07-07 01:18:19 UTC (rev 615) @@ -1,5 +1,7 @@ DATE AUTHOR CHANGE ---------- ----------- ------------------------------------------------------- +2007-07-06 patrickh Fixed build issues on Mac OS X. + VERSION: 0.7.9 2007-06-26 patrickh Made many build fixes and improvements on Windows. VERSION: 0.7.8 2006-11-07 patrickh Do not put headers into a versioned directory on Modified: trunk/cppdom/version.h =================================================================== --- trunk/cppdom/version.h 2007-07-07 01:08:34 UTC (rev 614) +++ trunk/cppdom/version.h 2007-07-07 01:18:19 UTC (rev 615) @@ -55,7 +55,7 @@ // The major/minor/patch version (up to 3 digits each). #define CPPDOM_VERSION_MAJOR 0 #define CPPDOM_VERSION_MINOR 7 -#define CPPDOM_VERSION_PATCH 8 +#define CPPDOM_VERSION_PATCH 9 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- Modified: trunk/cppdom.spec =================================================================== --- trunk/cppdom.spec 2007-07-07 01:08:34 UTC (rev 614) +++ trunk/cppdom.spec 2007-07-07 01:18:19 UTC (rev 615) @@ -1,7 +1,7 @@ # Spec file for cppdom. %define name cppdom -%define version 0.7.8 -%define release 2 +%define version 0.7.9 +%define release 1 Name: %{name} Summary: A C++ based XML loader and writer with an internal DOM representation. @@ -127,6 +127,9 @@ %doc %{_docdir}/cppdom-%{version}/html %changelog +* Fri Jul 06 2007 Patrick Hartling <pa...@in...> 0.7.9-1 +- Updated to version 0.7.9. + * Wed Jun 27 2007 Patrick Hartling <pa...@in...> 0.7.8-2 - Removed cppdom-config from the cppdom-devel package. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-07-31 22:22:15
|
Revision: 620 http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=620&view=rev Author: patrickh Date: 2007-07-31 15:22:18 -0700 (Tue, 31 Jul 2007) Log Message: ----------- Fixed the build to work with naming convention changes in SConsAddons. Modified Paths: -------------- trunk/SConstruct trunk/cppdom/SConscript Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2007-07-25 22:02:45 UTC (rev 619) +++ trunk/SConstruct 2007-07-31 22:22:18 UTC (rev 620) @@ -175,7 +175,7 @@ inst_paths = copy.copy(base_inst_paths) inst_paths['libPrefix'] = pj(inst_paths['flagpollPrefix'], 'lib') - if GetPlatform() != "win32" and "debug" == combo["type"]: + if "debug" == combo["type"]: inst_paths["lib"] = pj(inst_paths["lib"],"debug") inst_paths['libPrefix'] = pj(inst_paths['libPrefix'],'debug') if "x64" == combo["arch"]: @@ -227,7 +227,7 @@ cppdom_libs = '' cppdom_cxxflags = '/DCPPDOM_AUTO_LINK' - if "debug" in combo["type"] or "hybrid" in combo["type"]: + if "debug" in combo["type"] or "debugrt" in combo["type"]: cppdom_cxxflags += ' /DCPPDOM_DEBUG' if "shared" in combo["libtype"]: cppdom_cxxflags += ' /DCPPDOM_DYN_LINK' @@ -251,7 +251,7 @@ # Setup the builder for cppdom.fpc # XXX: This generates multiple cppdom*.fpc files instead of putting all - # the variation of debug/optimized/hybrid and static/shared into one + # the variation of debug/optimized/debugrt and static/shared into one # architecture-specific file! name_parts = ['cppdom',cppdom_version_str,arch] if combo["type"] != "optimized": Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2007-07-25 22:02:45 UTC (rev 619) +++ trunk/cppdom/SConscript 2007-07-31 22:22:18 UTC (rev 620) @@ -30,7 +30,7 @@ cppdom_lib_env = build_env.Copy() cppdom_lib_env.Append(CPPPATH = [inst_paths['include'],]) -if "debug" in combo["type"] or "hybrid" in combo["type"]: +if "debug" in combo["type"] or "debugrt" in combo["type"]: cppdom_lib_env.AppendUnique(CPPDEFINES = ["CPPDOM_DEBUG"]) # If should not do static only, then create static and shared libraries This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-08-01 15:22:35
|
Revision: 624 http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=624&view=rev Author: patrickh Date: 2007-08-01 08:22:38 -0700 (Wed, 01 Aug 2007) Log Message: ----------- Note recent changes and roll the version to 0.7.10. Modified Paths: -------------- trunk/ChangeLog trunk/cppdom/version.h trunk/cppdom.spec Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-08-01 15:22:12 UTC (rev 623) +++ trunk/ChangeLog 2007-08-01 15:22:38 UTC (rev 624) @@ -1,5 +1,13 @@ DATE AUTHOR CHANGE ---------- ----------- ------------------------------------------------------- +2007-08-01 patrickh Updated for SConsAddons changes. On Windows, the + build formerly called "hybrid" is now the "debug" + build. The DLL is installed in lib\debug. The build + formerly called "debug" is now the "debugrt" build (to + indicate that it is linked against the Visual C++ debug + runtime). The library is still named with "_d". + VERSION: 0.7.10 +2007-07-25 patrickh Fixed empty comment processing bug. 2007-07-06 patrickh Fixed build issues on Mac OS X. VERSION: 0.7.9 2007-06-26 patrickh Made many build fixes and improvements on Windows. Modified: trunk/cppdom/version.h =================================================================== --- trunk/cppdom/version.h 2007-08-01 15:22:12 UTC (rev 623) +++ trunk/cppdom/version.h 2007-08-01 15:22:38 UTC (rev 624) @@ -55,7 +55,7 @@ // The major/minor/patch version (up to 3 digits each). #define CPPDOM_VERSION_MAJOR 0 #define CPPDOM_VERSION_MINOR 7 -#define CPPDOM_VERSION_PATCH 9 +#define CPPDOM_VERSION_PATCH 10 //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- Modified: trunk/cppdom.spec =================================================================== --- trunk/cppdom.spec 2007-08-01 15:22:12 UTC (rev 623) +++ trunk/cppdom.spec 2007-08-01 15:22:38 UTC (rev 624) @@ -1,6 +1,6 @@ # Spec file for cppdom. %define name cppdom -%define version 0.7.9 +%define version 0.7.10 %define release 1 Name: %{name} @@ -127,6 +127,9 @@ %doc %{_docdir}/cppdom-%{version}/html %changelog +* Wed Aug 01 2007 Patrick Hartling <pa...@in...> 0.7.10-1 +- Updated to version 0.7.10. + * Fri Jul 06 2007 Patrick Hartling <pa...@in...> 0.7.9-1 - Updated to version 0.7.9. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2007-08-01 22:59:30
|
Revision: 626 http://xml-cppdom.svn.sourceforge.net/xml-cppdom/?rev=626&view=rev Author: patrickh Date: 2007-08-01 15:59:33 -0700 (Wed, 01 Aug 2007) Log Message: ----------- Avoid hard-coding compiler and linker flags in the .fpc file. Removed hard-coded path quoting as it causes problems on non-Windows platforms. The quoting is now done by the SConstruct file. Modified Paths: -------------- trunk/SConstruct trunk/cppdom.fpc.in Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2007-08-01 15:37:52 UTC (rev 625) +++ trunk/SConstruct 2007-08-01 22:59:33 UTC (rev 626) @@ -145,6 +145,13 @@ include_dir = pj(base_inst_paths['base'], 'include') base_inst_paths['includePrefix'] = pj( base_inst_paths['flagpollPrefix'], 'include') + if GetPlatform() == "win32": + base_inst_paths["include_path_flag"] = "/I" + base_inst_paths["lib_path_flag"] = "/LIBPATH:" + else: + base_inst_paths["include_path_flag"] = "-I" + base_inst_paths["lib_path_flag"] = "-L" + if common_env['versioning']: version_suffix = "-%s_%s_%s" % CPPDOM_VERSION @@ -181,7 +188,11 @@ if "debug" == combo["type"]: inst_paths["lib"] = pj(inst_paths["lib"],"debug") inst_paths['libPrefix'] = pj(inst_paths['libPrefix'],'debug') - + + if GetPlatform() == 'win32': + inst_paths["libPrefix"] = '"%s"' % inst_paths["libPrefix"] + inst_paths["includePrefix"] = '"%s"' % inst_paths["includePrefix"] + cppdom_shared_libname = 'cppdom' + shared_lib_suffix + version_suffix cppdom_static_libname = 'cppdom' + static_lib_suffix + version_suffix @@ -240,10 +251,12 @@ '@prefix@' : inst_paths['flagpollPrefix'], '@exec_prefix@' : '${prefix}', '@cppdom_cxxflags@' : cppdom_cxxflags, + '@include_path_flag@' : inst_paths['include_path_flag'], '@includedir@' : inst_paths['includePrefix'], '@cppdom_extra_cxxflags@' : '', '@cppdom_extra_include_dirs@' : '', '@cppdom_libs@' : cppdom_libs, + '@lib_path_flag@' : inst_paths['lib_path_flag'], '@libdir@' : inst_paths['libPrefix'], '@arch@' : arch, '@version@' : cppdom_version_str Modified: trunk/cppdom.fpc.in =================================================================== --- trunk/cppdom.fpc.in 2007-08-01 15:37:52 UTC (rev 625) +++ trunk/cppdom.fpc.in 2007-08-01 22:59:33 UTC (rev 626) @@ -1,8 +1,8 @@ exec_prefix=@exec_prefix@ cxxflags=@cppdom_cxxflags@ -includedir=@includedir@ +includedir=@include_path_flag@@includedir@ libs=@cppdom_libs@ -libdir=@libdir@ +libdir=@lib_path_flag@@libdir@ Name: XML CppDom Provides: @provides@ @@ -10,7 +10,7 @@ Description: A C++ based XML loader and writer with an internal DOM representation. URL: http://xml-cppdom.sf.net Requires: -Libs: -L"${libdir}" ${libs} -Cflags: -I"${includedir}" +Libs: ${libdir} ${libs} +Cflags: ${includedir} Arch: @arch@ prefix: @prefix@ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |