diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2011-08-06 13:03:22 -0500 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2011-08-06 13:03:22 -0500 |
commit | 3c06a627330b702f9cafa9110735218332d66bf9 (patch) | |
tree | 01327f70af89f285df34edb3b1a1905396512d7a | |
parent | b4757b2dd0b18066ae2845ebc440323e6c843958 (diff) | |
parent | 16038a4d5c4dccf6f44fd96d22302d0aa88b6d8e (diff) |
Merge remote branch 'libs-extern-sys/master'
* libs-extern-sys/master: (1783 commits)
Revert "Disable pdf and ps surfaces that break internal cairo build"
I'm sure I fixed this before
Disable pdf and ps surfaces that break internal cairo build
restore workaround for windows lack of soft links
Resolves: fdo#36763 backport fix for py#4768
French dictionaries update: 3.8 to 4.2.1 (dicollecte)
UPDMINOREXT is gone away, drop it
Use MACOSX_SDK_PATH
add easy-valgrindability to built-in python
supress unused variable warning in ptr_sequence_adapater.hpp
fix hunk offset in boost.windows.patch
Version 3.4.2.3, tag libreoffice-3.4.2.3 (3.4.2-rc3)
nss/moz: Add Linux 3.0 profile
Oops Bjoern's link to .gitattributes got committed by mistake
Version 3.4.2.2, tag libreoffice-3.4.2.2-buildfix1 (3.4.2-rc2)
Don't let <windows.h> define min() and max() as macros
Version 3.4.2.2, tag libreoffice-3.4.2.2 (3.4.2-rc2)
Don't let <windows.h> define min() and max() as macros
We want cairo-quartz.h for iOS, not the X ones
WaE: yet more of these shadowing warnings
...
207 files changed, 46028 insertions, 0 deletions
diff --git a/berkeleydb/db-4.7.25-mingw.patch b/berkeleydb/db-4.7.25-mingw.patch new file mode 100644 index 000000000000..38d83d156230 --- /dev/null +++ b/berkeleydb/db-4.7.25-mingw.patch @@ -0,0 +1,348 @@ +--- misc/db-4.7.25.NC/dist/Makefile.in 2008-05-06 12:03:36.000000000 +0900 ++++ misc/build/db-4.7.25.NC/dist/Makefile.in 2009-07-11 13:38:07.419875000 +0900 +@@ -44,7 +44,7 @@ + SOLINK= @MAKEFILE_SOLINK@ @CFLAGS@ + SOFLAGS= @SOFLAGS@ + LIBMAJOR= @DB_VERSION_MAJOR@ +-LIBVERSION= @DB_VERSION_MAJOR@.@DB_VERSION_MINOR@ ++LIBVERSION= @DB_VERSION_MAJOR@@DB_VERSION_MINOR@ + + CPPFLAGS= -I$(builddir) -I$(srcdir) @CPPFLAGS@ + +@@ -62,18 +62,18 @@ + + libdb_base= libdb + libdb= $(libdb_base).a +-libdb_version= $(libdb_base)-$(LIBVERSION).a +-libso= $(libdb_base)-$(LIBVERSION)@SOSUFFIX@ +-libso_target= $(libdb_base)-$(LIBVERSION).la ++libdb_version= $(libdb_base)$(LIBVERSION).a ++libso= $(libdb_base)$(LIBVERSION)@SOSUFFIX@ ++libso_target= $(libdb_base)$(LIBVERSION).la + libso_default= $(libdb_base)@SOSUFFIX@ +-libso_major= $(libdb_base)-$(LIBMAJOR)@SOSUFFIX@ ++libso_major= $(libdb_base)$(LIBMAJOR)@SOSUFFIX@ + + ################################################## + # C++ API. + # + # C++ support is optional, and can be built with static or shared libraries. + ################################################## +-CXXFLAGS= -c $(CPPFLAGS) @CXXFLAGS@ ++CXXFLAGS= -c $(SOLARINC) $(CPPFLAGS) -DGXX_INCLUDE_PATH=$(GXX_INCLUDE_PATH) @CXXFLAGS@ + CXX= @MAKEFILE_CXX@ + CXXLINK= @MAKEFILE_CXXLINK@ @CXXFLAGS@ + XSOLINK= @MAKEFILE_XSOLINK@ @CXXFLAGS@ +@@ -81,11 +81,11 @@ + + libcxx_base= libdb_cxx + libcxx= $(libcxx_base).a +-libcxx_version= $(libcxx_base)-$(LIBVERSION).a +-libxso= $(libcxx_base)-$(LIBVERSION)@SOSUFFIX@ +-libxso_target= $(libcxx_base)-$(LIBVERSION).la ++libcxx_version= $(libcxx_base)$(LIBVERSION).a ++libxso= $(libcxx_base)$(LIBVERSION)@SOSUFFIX@ ++libxso_target= $(libcxx_base)$(LIBVERSION).la + libxso_default= $(libcxx_base)@SOSUFFIX@ +-libxso_major= $(libcxx_base)-$(LIBMAJOR)@SOSUFFIX@ ++libxso_major= $(libcxx_base)$(LIBMAJOR)@SOSUFFIX@ + + ################################################## + # Java API. +@@ -108,12 +108,12 @@ + libj_jarfile= db.jar + libj_exjarfile= dbexamples.jar + libjso_base= libdb_java +-libjso= $(libjso_base)-$(LIBVERSION)@JMODSUFFIX@ +-libjso_static= $(libjso_base)-$(LIBVERSION).a +-libjso_target= $(libjso_base)-$(LIBVERSION).la ++libjso= $(libjso_base)$(LIBVERSION)@JMODSUFFIX@ ++libjso_static= $(libjso_base)$(LIBVERSION).a ++libjso_target= $(libjso_base)$(LIBVERSION).la + libjso_default= $(libjso_base)@JMODSUFFIX@ +-libjso_major= $(libjso_base)-$(LIBMAJOR)@JMODSUFFIX@ +-libjso_g= $(libjso_base)-$(LIBVERSION)_g@JMODSUFFIX@ ++libjso_major= $(libjso_base)$(LIBMAJOR)@JMODSUFFIX@ ++libjso_g= $(libjso_base)$(LIBVERSION)_g@JMODSUFFIX@ + + ################################################## + # TCL API. +@@ -123,11 +123,11 @@ + TCL_INCLUDE_SPEC= @TCL_INCLUDE_SPEC@ + LIBTSO_LIBS= @LIBTSO_LIBS@ @LIBSO_LIBS@ + libtso_base= libdb_tcl +-libtso= $(libtso_base)-$(LIBVERSION)@MODSUFFIX@ +-libtso_static= $(libtso_base)-$(LIBVERSION).a +-libtso_target= $(libtso_base)-$(LIBVERSION).la ++libtso= $(libtso_base)$(LIBVERSION)@MODSUFFIX@ ++libtso_static= $(libtso_base)$(LIBVERSION).a ++libtso_target= $(libtso_base)$(LIBVERSION).la + libtso_default= $(libtso_base)@MODSUFFIX@ +-libtso_major= $(libtso_base)-$(LIBMAJOR)@MODSUFFIX@ ++libtso_major= $(libtso_base)$(LIBMAJOR)@MODSUFFIX@ + + ################################################## + # db_dump185 UTILITY +@@ -756,7 +756,7 @@ + + # Shared Java library. + $(libjso_target): $(JAVA_OBJS) $(C_OBJS) +- $(SOLINK) -shrext @JMODSUFFIX@ $(SOFLAGS) $(LDFLAGS) \ ++ $(SOLINK) -shrext @JMODSUFFIX@ -add-underscore $(SOFLAGS) $(LDFLAGS) \ + -o $@ $(JAVA_OBJS) $(C_OBJS) $(LIBJSO_LIBS) + + # Shared Tcl library. +--- misc/db-4.7.25.NC/dist/configure 2008-05-16 06:12:41.000000000 +0900 ++++ misc/build/db-4.7.25.NC/dist/configure 2009-07-11 16:00:39.255625000 +0900 +@@ -9488,7 +9488,7 @@ + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then +- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ archive_cmds='$DLLTOOL $add_underscore --export-all-symbols --dllname $soname --output-lib $lib --output-exp $output_objdir/$soname.exp $libobjs; $CC -shared $output_objdir/$soname.exp $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base ${wl}--image-base=0x10000000' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then +@@ -9497,7 +9497,7 @@ + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ +- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' ++ $DLLTOOL $add_underscore --dllname $soname --output-lib $lib --output-exp $output_objdir/$soname.exp --input-def $output_objdir/$soname.def; $CC -shared $output_objdir/$soname.exp $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base ${wl}--image-base=0x10000000' + else + ld_shlibs=no + fi +@@ -13680,15 +13680,15 @@ + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then +- predep_objects_CXX="$p" ++ predep_objects_CXX=`cygpath -m "$p"` + else +- predep_objects_CXX="$predep_objects_CXX $p" ++ predep_objects_CXX="$predep_objects_CXX "`cygpath -m "$p"` + fi + else + if test -z "$postdep_objects_CXX"; then +- postdep_objects_CXX="$p" ++ postdep_objects_CXX=`cygpath -m "$p"` + else +- postdep_objects_CXX="$postdep_objects_CXX $p" ++ postdep_objects_CXX="$postdep_objects_CXX "`cygpath -m "$p"` + fi + fi + ;; +@@ -22371,6 +22371,154 @@ + + + ++case "$host_os" in ++mingw*) ++for ac_header in execinfo.h sys/time.h ++do ++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ { echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++fi ++ac_res=`eval echo '${'$as_ac_Header'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++else ++ # Is the header compilable? ++{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 ++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++#include <$ac_header> ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_header_compiler=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_compiler=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ++echo "${ECHO_T}$ac_header_compiler" >&6; } ++ ++# Is the header present? ++{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 ++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } ++cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++#include <$ac_header> ++_ACEOF ++if { (ac_try="$ac_cpp conftest.$ac_ext" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } >/dev/null && { ++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || ++ test ! -s conftest.err ++ }; then ++ ac_header_preproc=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_header_preproc=no ++fi ++ ++rm -f conftest.err conftest.$ac_ext ++{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ++echo "${ECHO_T}$ac_header_preproc" >&6; } ++ ++# So? What about this header? ++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in ++ yes:no: ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ++ ac_header_preproc=yes ++ ;; ++ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 ++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 ++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 ++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ++ ( cat <<\_ASBOX ++## ---------------------------------------------------------- ## ++## Report this to Oracle Technology Network Berkeley DB forum ## ++## ---------------------------------------------------------- ## ++_ASBOX ++ ) | sed "s/^/$as_me: WARNING: /" >&2 ++ ;; ++esac ++{ echo "$as_me:$LINENO: checking for $ac_header" >&5 ++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } ++if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ eval "$as_ac_Header=\$ac_header_preproc" ++fi ++ac_res=`eval echo '${'$as_ac_Header'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++ ++fi ++if test `eval echo '${'$as_ac_Header'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ++_ACEOF ++ ++fi ++ ++done ++ ++;; ++*) + for ac_header in execinfo.h sys/select.h sys/socket.h sys/time.h + do + as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +@@ -22515,6 +22663,8 @@ + + done + ++;; ++esac + { echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 + echo $ECHO_N "checking for struct stat.st_blksize... $ECHO_C" >&6; } + if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then +@@ -27697,6 +27847,18 @@ + + + ++ac_cv_sizeof_char_p=`echo $ac_cv_sizeof_char_p | tr -d '\015'` ++ac_cv_sizeof_unsigned_int=`echo $ac_cv_sizeof_unsigned_int | tr -d '\015'` ++ac_cv_sizeof_unsigned_char=`echo $ac_cv_sizeof_unsigned_char | tr -d '\015'` ++ac_cv_sizeof_unsigned_short=`echo $ac_cv_sizeof_unsigned_short | tr -d '\015'` ++ac_cv_sizeof_unsigned_long=`echo $ac_cv_sizeof_unsigned_long | tr -d '\015'` ++ac_cv_sizeof_unsigned_long_long=`echo $ac_cv_sizeof_unsigned_long_long | tr -d '\015'` ++ac_cv_sizeof_int=`echo $ac_cv_sizeof_int | tr -d '\015'` ++ac_cv_sizeof_char=`echo $ac_cv_sizeof_char | tr -d '\015'` ++ac_cv_sizeof_short=`echo $ac_cv_sizeof_short | tr -d '\015'` ++ac_cv_sizeof_long=`echo $ac_cv_sizeof_long | tr -d '\015'` ++ac_cv_sizeof_long_long=`echo $ac_cv_sizeof_long_long | tr -d '\015'` ++ + # We look for u_char, u_short, u_int, u_long -- if we can't find them, + # we create our own. + +--- misc/db-4.7.25.NC/dist/ltmain.sh 2006-06-27 10:03:33.000000000 +0900 ++++ misc/build/db-4.7.25.NC/dist/ltmain.sh 2009-07-11 13:38:07.388625000 +0900 +@@ -1103,6 +1103,7 @@ + lib_search_path=`pwd` + inst_prefix_dir= + ++ add_underscore= + avoid_version=no + dlfiles= + dlprefiles= +@@ -1435,6 +1436,11 @@ + prevarg="$arg" + + case $arg in ++ -add-underscore) ++ add_underscore="--add-underscore" ++ continue ++ ;; ++ + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" +@@ -4869,7 +4875,7 @@ + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in +- *cygwin*) ++ *cygwin* | *mingw*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; diff --git a/berkeleydb/db-4.7.25.patch b/berkeleydb/db-4.7.25.patch new file mode 100644 index 000000000000..6077e6669c77 --- /dev/null +++ b/berkeleydb/db-4.7.25.patch @@ -0,0 +1,1059 @@ +--- misc/db-4.7.25.NC/btree/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/btree/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,35 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=btree ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/bt_compact.obj \ ++ $(SLO)$/bt_compare.obj \ ++ $(SLO)$/bt_conv.obj \ ++ $(SLO)$/bt_curadj.obj \ ++ $(SLO)$/bt_cursor.obj \ ++ $(SLO)$/bt_delete.obj \ ++ $(SLO)$/bt_method.obj \ ++ $(SLO)$/bt_open.obj \ ++ $(SLO)$/bt_put.obj \ ++ $(SLO)$/bt_rec.obj \ ++ $(SLO)$/bt_reclaim.obj \ ++ $(SLO)$/bt_recno.obj \ ++ $(SLO)$/bt_rsearch.obj \ ++ $(SLO)$/bt_search.obj \ ++ $(SLO)$/bt_split.obj \ ++ $(SLO)$/bt_stat.obj \ ++ $(SLO)$/bt_upgrade.obj \ ++ $(SLO)$/bt_verify.obj \ ++ $(SLO)$/btree_auto.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/clib/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/clib/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,16 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=clib ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/dbinc ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= $(SLO)$/strsep.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/common/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/common/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,31 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=common ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/crypto_stub.obj \ ++ $(SLO)$/db_byteorder.obj \ ++ $(SLO)$/db_err.obj \ ++ $(SLO)$/db_getlong.obj \ ++ $(SLO)$/db_idspace.obj \ ++ $(SLO)$/db_log2.obj \ ++ $(SLO)$/db_shash.obj \ ++ $(SLO)$/dbt.obj \ ++ $(SLO)$/mkpath.obj \ ++ $(SLO)$/openflags.obj \ ++ $(SLO)$/os_method.obj \ ++ $(SLO)$/util_cache.obj \ ++ $(SLO)$/util_log.obj \ ++ $(SLO)$/util_sig.obj \ ++ $(SLO)$/zerofill.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/cxx/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/cxx/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,27 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=cxx ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/cxx_db.obj \ ++ $(SLO)$/cxx_dbc.obj \ ++ $(SLO)$/cxx_dbt.obj \ ++ $(SLO)$/cxx_env.obj \ ++ $(SLO)$/cxx_except.obj \ ++ $(SLO)$/cxx_lock.obj \ ++ $(SLO)$/cxx_logc.obj \ ++ $(SLO)$/cxx_mpool.obj \ ++ $(SLO)$/cxx_multi.obj \ ++ $(SLO)$/cxx_seq.obj \ ++ $(SLO)$/cxx_txn.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/db/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/db/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,47 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=db_src ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/crdel_auto.obj \ ++ $(SLO)$/crdel_rec.obj \ ++ $(SLO)$/db.obj \ ++ $(SLO)$/db_am.obj \ ++ $(SLO)$/db_auto.obj \ ++ $(SLO)$/db_cam.obj \ ++ $(SLO)$/db_cds.obj \ ++ $(SLO)$/db_conv.obj \ ++ $(SLO)$/db_dispatch.obj \ ++ $(SLO)$/db_dup.obj \ ++ $(SLO)$/db_iface.obj \ ++ $(SLO)$/db_join.obj \ ++ $(SLO)$/db_meta.obj \ ++ $(SLO)$/db_method.obj \ ++ $(SLO)$/db_open.obj \ ++ $(SLO)$/db_overflow.obj \ ++ $(SLO)$/db_ovfl_vrfy.obj \ ++ $(SLO)$/db_pr.obj \ ++ $(SLO)$/db_rec.obj \ ++ $(SLO)$/db_reclaim.obj \ ++ $(SLO)$/db_remove.obj \ ++ $(SLO)$/db_rename.obj \ ++ $(SLO)$/db_ret.obj \ ++ $(SLO)$/db_setid.obj \ ++ $(SLO)$/db_setlsn.obj \ ++ $(SLO)$/db_stati.obj \ ++ $(SLO)$/db_truncate.obj \ ++ $(SLO)$/db_upg.obj \ ++ $(SLO)$/db_upg_opd.obj \ ++ $(SLO)$/db_vrfy.obj \ ++ $(SLO)$/db_vrfyutil.obj ++ ++.INCLUDE: target.mk ++ +--- misc/db-4.7.25.NC/db_4_7_gcc4.map 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/db_4_7_gcc4.map 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,147 @@ +-dummy ++DB_4_7 { ++ global: ++__bam_adj_read; ++__bam_cadjust_read; ++__bam_cdel_read; ++__bam_curadj_read; ++__bam_merge_44_read; ++__bam_merge_read; ++__bam_pgno_read; ++__bam_relink_read; ++__bam_relink_43_read; ++__bam_repl_read; ++__bam_root_read; ++__bam_rcuradj_read; ++__bam_rsplit_read; ++__bam_split_read; ++__config_split; ++__crdel_inmem_create_read; ++__crdel_inmem_rename_read; ++__crdel_inmem_remove_read; ++__crdel_metasub_read; ++__db_add_recovery_int; ++__db_addrem_read; ++__db_big_read; ++__db_cksum_read; ++__db_dbm_close; ++__db_dbm_delete; ++__db_dbm_fetch; ++__db_dbm_firstkey; ++__db_dbm_init; ++__db_dbm_nextkey; ++__db_dbm_store; ++__db_debug_read; ++__db_dispatch; ++__db_dumptree; ++__db_hcreate; ++__db_hdestroy; ++__db_hsearch; ++__db_idspace; ++__db_mkpath; ++__db_ndbm_clearerr; ++__db_ndbm_close; ++__db_ndbm_delete; ++__db_ndbm_dirfno; ++__db_ndbm_error; ++__db_ndbm_fetch; ++__db_ndbm_firstkey; ++__db_ndbm_nextkey; ++__db_ndbm_open; ++__db_ndbm_pagfno; ++__db_ndbm_rdonly; ++__db_ndbm_store; ++__db_noop_read; ++__db_pg_alloc_42_read; ++__db_pg_alloc_read; ++__db_pg_free_42_read; ++__db_pg_free_read; ++__db_pg_freedata_42_read; ++__db_pg_freedata_read; ++__db_pg_init_read; ++__db_pg_sort_read; ++__db_pr_callback; ++__db_relink_42_read; ++__db_rpath; ++__db_getlong; ++__db_getulong; ++__db_ovref_read; ++__dbreg_register_read; ++__fop_create_read; ++__fop_file_remove_read; ++__fop_remove_read; ++__fop_rename_read; ++__fop_write_read; ++__ham_chgpg_read; ++__ham_copypage_read; ++__ham_curadj_read; ++__ham_groupalloc_42_read; ++__ham_groupalloc_read; ++__ham_insdel_read; ++__ham_metagroup_42_read; ++__ham_metagroup_read; ++__ham_newpage_read; ++__ham_replace_read; ++__ham_splitdata_read; ++__lock_list_print; ++__os_abspath; ++__os_calloc; ++__os_closehandle; ++__os_ctime; ++__os_dirfree; ++__os_dirlist; ++__os_free; ++__os_fsync; ++__os_getenv; ++__os_mkdir; ++__os_open; ++__os_read; ++__os_rename; ++__os_strdup; ++__os_unlink; ++__os_write; ++__os_yield; ++__os_id; ++__qam_add_read; ++__qam_del_read; ++__qam_delext_read; ++__qam_incfirst_read; ++__qam_mvptr_read; ++__txn_ckp_read; ++__txn_ckp_42_read; ++__txn_child_read; ++__txn_recycle_read; ++__txn_regop_42_read; ++__txn_regop_read; ++__txn_xa_regop_read; ++db_create; ++db_env_create; ++db_env_set_func_close; ++db_env_set_func_dirfree; ++db_env_set_func_dirlist; ++db_env_set_func_exists; ++db_env_set_func_file_map; ++db_env_set_func_free; ++db_env_set_func_fsync; ++db_env_set_func_ftruncate; ++db_env_set_func_ioinfo; ++db_env_set_func_malloc; ++db_env_set_func_open; ++db_env_set_func_pread; ++db_env_set_func_pwrite; ++db_env_set_func_read; ++db_env_set_func_realloc; ++db_env_set_func_region_map; ++db_env_set_func_rename; ++db_env_set_func_seek; ++db_env_set_func_unlink; ++db_env_set_func_write; ++db_env_set_func_yield; ++db_sequence_create; ++db_strerror; ++db_version; ++db_xa_switch; ++log_compare; ++ ++ local: ++ *; ++}; +--- misc/db-4.7.25.NC/dbm/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/dbm/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,16 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=dbm ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= $(SLO)$/dbm.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/dbreg/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/dbreg/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,21 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=dbreg ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/dbreg.obj \ ++ $(SLO)$/dbreg_auto.obj \ ++ $(SLO)$/dbreg_rec.obj \ ++ $(SLO)$/dbreg_stat.obj \ ++ $(SLO)$/dbreg_util.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/dist/Makefile.in 2008-05-06 05:03:36.000000000 +0200 ++++ misc/build/db-4.7.25.NC/dist/Makefile.in 2009-07-21 11:39:25.000000000 +0200 +@@ -13,7 +13,7 @@ + libdir= @libdir@ + docdir= $(prefix)/docs + +-dmode= 755 ++dmode= 775 + emode= 555 + fmode= 444 + +@@ -56,6 +56,7 @@ + CCLINK= @MAKEFILE_CCLINK@ @CFLAGS@ + + LDFLAGS= @LDFLAGS@ ++LDFLAGSVERSION= @LDFLAGSVERSION@ + LIBS= @LIBSO_LIBS@ + TEST_LIBS= @TEST_LIBS@ + LIBCSO_LIBS= @LIBCSO_LIBS@ @LIBSO_LIBS@ +@@ -733,7 +734,7 @@ + + # Shared C library. + $(libso_target): $(C_OBJS) +- $(SOLINK) $(SOFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) $(LIBCSO_LIBS) ++ $(SOLINK) $(SOFLAGS) $(LDFLAGS) $(LDFLAGSVERSION) -o $@ $(C_OBJS) $(LIBCSO_LIBS) + $(RM) -f $(libdb) + $(LN) -s .libs/$(libdb_version) $(libdb) + +--- misc/db-4.7.25.NC/dist/config.sub ++++ misc/build/db-4.7.25.NC/dist/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/db-4.7.25.NC/dist/configure 2008-05-15 23:12:41.000000000 +0200 ++++ misc/build/db-4.7.25.NC/dist/configure 2009-07-21 11:39:25.000000000 +0200 +@@ -3757,8 +3757,10 @@ + # Set CFLAGS/CXXFLAGS. We MUST set the flags before we call autoconf + # compiler configuration macros, because if we don't, they set CFLAGS + # to no optimization and -g, which isn't what we want. +-CFLAGS=${CFLAGS-$optimize_debug} +-CXXFLAGS=${CXXFLAGS-"$CFLAGS"} ++#CFLAGS=${CFLAGS-$optimize_debug} ++#CXXFLAGS=${CXXFLAGS-"$CFLAGS"} ++CFLAGS="$CFLAGS $optimize_def" ++CXXFLAGS="$CXXFLAGS $CFLAGS" + + # The default compiler is cc (NOT gcc), the default CFLAGS is as specified + # above, NOT what is set by AC_PROG_CC, as it won't set optimization flags +@@ -12566,7 +12568,8 @@ + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. +- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in ++# case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in ++ case `$lt_cv_path_LD -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; +@@ -36624,6 +36627,7 @@ + JAR!$JAR$ac_delim + JAVACFLAGS!$JAVACFLAGS$ac_delim + LDFLAGS!$LDFLAGS$ac_delim ++LDFLAGSVERSION!$LDFLAGSVERSION$ac_delim + LIBCSO_LIBS!$LIBCSO_LIBS$ac_delim + LIBJSO_LIBS!$LIBJSO_LIBS$ac_delim + LIBSO_LIBS!$LIBSO_LIBS$ac_delim +@@ -36655,7 +36659,7 @@ + DB_VERSION_PATCH!$DB_VERSION_PATCH$ac_delim + _ACEOF + +- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 98; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +--- misc/db-4.7.25.NC/dist/ltmain.sh 2006-06-27 03:03:33.000000000 +0200 ++++ misc/build/db-4.7.25.NC/dist/ltmain.sh 2009-07-21 11:39:25.000000000 +0200 +@@ -1700,7 +1700,9 @@ + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; +- *) ++ # or $ORIGIN altenatively ++ *\$ORIGIN*) ;; ++ *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; +--- misc/db-4.7.25.NC/env/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/env/makefile.mk 2009-07-21 11:39:25.000000000 +0200 +@@ -1 +1,29 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=env ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/env_alloc.obj \ ++ $(SLO)$/env_config.obj \ ++ $(SLO)$/env_failchk.obj \ ++ $(SLO)$/env_file.obj \ ++ $(SLO)$/env_globals.obj \ ++ $(SLO)$/env_method.obj \ ++ $(SLO)$/env_name.obj \ ++ $(SLO)$/env_open.obj \ ++ $(SLO)$/env_recover.obj \ ++ $(SLO)$/env_region.obj \ ++ $(SLO)$/env_register.obj \ ++ $(SLO)$/env_sig.obj \ ++ $(SLO)$/env_stat.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/fileops/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/fileops/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,20 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=fileops ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/fileops_auto.obj \ ++ $(SLO)$/fop_basic.obj \ ++ $(SLO)$/fop_rec.obj \ ++ $(SLO)$/fop_util.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/hash/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/hash/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,30 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=hash ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/hash.obj \ ++ $(SLO)$/hash_auto.obj \ ++ $(SLO)$/hash_conv.obj \ ++ $(SLO)$/hash_dup.obj \ ++ $(SLO)$/hash_func.obj \ ++ $(SLO)$/hash_meta.obj \ ++ $(SLO)$/hash_method.obj \ ++ $(SLO)$/hash_open.obj \ ++ $(SLO)$/hash_page.obj \ ++ $(SLO)$/hash_rec.obj \ ++ $(SLO)$/hash_reclaim.obj \ ++ $(SLO)$/hash_stat.obj \ ++ $(SLO)$/hash_upgrade.obj \ ++ $(SLO)$/hash_verify.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/hmac/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/hmac/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,18 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=hmac ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/hmac.obj \ ++ $(SLO)$/sha1.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/hsearch/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/hsearch/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,16 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=hsearch ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= $(SLO)$/hsearch.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/lock/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/lock/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,26 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=lock ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/lock.obj \ ++ $(SLO)$/lock_deadlock.obj \ ++ $(SLO)$/lock_failchk.obj \ ++ $(SLO)$/lock_id.obj \ ++ $(SLO)$/lock_list.obj \ ++ $(SLO)$/lock_method.obj \ ++ $(SLO)$/lock_region.obj \ ++ $(SLO)$/lock_stat.obj \ ++ $(SLO)$/lock_timer.obj \ ++ $(SLO)$/lock_util.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/log/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/log/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,24 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=log ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/log.obj \ ++ $(SLO)$/log_archive.obj \ ++ $(SLO)$/log_compare.obj \ ++ $(SLO)$/log_debug.obj \ ++ $(SLO)$/log_get.obj \ ++ $(SLO)$/log_method.obj \ ++ $(SLO)$/log_put.obj \ ++ $(SLO)$/log_stat.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,76 @@ +-dummy ++PRJ=..$/..$/..$/.. ++PRJNAME=libdb47 ++TARGET=libdb47 ++USE_DEFFILE=true ++UWINAPILIB= ++ ++.INCLUDE : settings.mk ++CFLAGS+=-GS -EHsc -Gy ++ ++#LINKFLAGS!:=$(LINKFLAGS:s/NODEFAULTLIB/NOLOGO/) ++ ++CHILDREN= \ ++ btree clib common cxx \ ++ db dbm dbreg env fileops \ ++ hash hmac hsearch lock \ ++ log mp mutex os os_windows \ ++ qam rep repmgr sequence \ ++ txn xa ++ ++LIB1TARGET= $(SLB)$/$(TARGET).lib ++LIB1FILES= \ ++ $(SLB)$/btree.lib \ ++ $(SLB)$/clib.lib \ ++ $(SLB)$/common.lib \ ++ $(SLB)$/cxx.lib \ ++ $(SLB)$/db_src.lib \ ++ $(SLB)$/dbm.lib \ ++ $(SLB)$/dbreg.lib \ ++ $(SLB)$/env.lib \ ++ $(SLB)$/fileops.lib \ ++ $(SLB)$/hash.lib \ ++ $(SLB)$/hmac.lib \ ++ $(SLB)$/hsearch.lib \ ++ $(SLB)$/lock.lib \ ++ $(SLB)$/log.lib \ ++ $(SLB)$/mp.lib \ ++ $(SLB)$/mutex.lib \ ++ $(SLB)$/os.lib \ ++ $(SLB)$/os_windows.lib \ ++ $(SLB)$/qam.lib \ ++ $(SLB)$/rep.lib \ ++ $(SLB)$/repmgr.lib \ ++ $(SLB)$/sequence.lib \ ++ $(SLB)$/txn.lib \ ++ $(SLB)$/xa.lib ++ ++SHL1LIBS=$(LIB1TARGET) ++SHL1STDLIBS = $(WS2_32LIB) $(ADVAPI32LIB) ++SHL1TARGET = $(TARGET) ++SHL1DEF = $(MISC)$/$(SHL1TARGET).def ++SHL1IMPLIB = $(SHL1TARGET) ++SHL1LIBS = $(SLB)$/$(TARGET).lib ++SHL1DEPN = $(CHILDREN) ++ ++#The following line prevents that the resource file is automatically generated ++use_shl_versions:= ++#use the berkeley's resource file ++RCFILES = build_windows$/libdb.rc ++SHL1RES= $(RES)$/libdb47.res ++ ++#DEF1NAME=$(SHL1TARGET) ++#DEF1EXPORTFILE=$(TARGET).dxp ++ ++# dmake builds the first rule ++ALLTAR : $(CHILDREN) ++ ++$(CHILDREN) .PHONY : ++ cd $@ ; $(MAKECMD) subdmake=true $(MFLAGS) $(CALLMACROS) ++ ++.INCLUDE : target.mk ++ ++$(MISC)$/$(SHL1TARGET).def : build_windows$/libdb.def ++ $(COPY) $< $@ ++ ++ #$(DUMPBIN) -DIRECTIVES $(SLB)$/$(TARGET).lib | $(GREP) EXPORT: | $(GREP) -v ",DATA" | $(SED) "s/.*EXPORT://" >> $@ ++ +--- misc/db-4.7.25.NC/mp/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/mp/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,31 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=mp ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/mp_alloc.obj \ ++ $(SLO)$/mp_bh.obj \ ++ $(SLO)$/mp_fget.obj \ ++ $(SLO)$/mp_fmethod.obj \ ++ $(SLO)$/mp_fopen.obj \ ++ $(SLO)$/mp_fput.obj \ ++ $(SLO)$/mp_fset.obj \ ++ $(SLO)$/mp_method.obj \ ++ $(SLO)$/mp_mvcc.obj \ ++ $(SLO)$/mp_region.obj \ ++ $(SLO)$/mp_register.obj \ ++ $(SLO)$/mp_resize.obj \ ++ $(SLO)$/mp_stat.obj \ ++ $(SLO)$/mp_sync.obj \ ++ $(SLO)$/mp_trickle.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/mutex/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/mutex/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,23 @@ +-dummy ++ ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=mutex ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=-I..$/build_windows -I..$/ -I$(COMPATH)$/include $(PSDKINC) ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/mut_alloc.obj \ ++ $(SLO)$/mut_failchk.obj \ ++ $(SLO)$/mut_method.obj \ ++ $(SLO)$/mut_region.obj \ ++ $(SLO)$/mut_stat.obj \ ++ $(SLO)$/mut_win32.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/os/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/os/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,26 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=os ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/os_abort.obj \ ++ $(SLO)$/os_addrinfo.obj \ ++ $(SLO)$/os_alloc.obj \ ++ $(SLO)$/os_ctime.obj \ ++ $(SLO)$/os_pid.obj \ ++ $(SLO)$/os_root.obj \ ++ $(SLO)$/os_rpath.obj \ ++ $(SLO)$/os_stack.obj \ ++ $(SLO)$/os_tmpdir.obj \ ++ $(SLO)$/os_uid.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/os/os_fsync.c 2008-05-06 05:03:37.000000000 +0200 ++++ misc/build/db-4.7.25.NC/os/os_fsync.c 2009-07-21 11:42:03.000000000 +0200 +@@ -79,13 +79,17 @@ + ret = DB_GLOBAL(j_fsync)(fhp->fd); + else { + #if defined(F_FULLFSYNC) ++/* When running OOo on MacOS using an NFS mounted disk, fcntl failed with errno ++ ENOTTY (25). Since full sync only works on HFS, FAT and UDF (according to the ++ man page) and also is more time consuming we just use the fallback. + RETRY_CHK((fcntl(fhp->fd, F_FULLFSYNC, 0)), ret); +- /* ++*/ /* + * On OS X, F_FULLSYNC only works on HFS+, so we need to fall + * back to regular fsync on other filesystems. + */ +- if (ret == ENOTSUP) +- RETRY_CHK((fsync(fhp->fd)), ret); ++/* if (ret == ENOTSUP) ++*/ ++ RETRY_CHK((fsync(fhp->fd)), ret); + #elif defined(HAVE_QNX) + ret = __qnx_fsync(fhp); + #elif defined(HAVE_FDATASYNC) +--- misc/db-4.7.25.NC/os_windows/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/os_windows/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,37 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=os_windows ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/os_abs.obj \ ++ $(SLO)$/os_clock.obj \ ++ $(SLO)$/os_config.obj \ ++ $(SLO)$/os_cpu.obj \ ++ $(SLO)$/os_dir.obj \ ++ $(SLO)$/os_errno.obj \ ++ $(SLO)$/os_fid.obj \ ++ $(SLO)$/os_flock.obj \ ++ $(SLO)$/os_fsync.obj \ ++ $(SLO)$/os_getenv.obj \ ++ $(SLO)$/os_handle.obj \ ++ $(SLO)$/os_map.obj \ ++ $(SLO)$/os_mkdir.obj \ ++ $(SLO)$/os_open.obj \ ++ $(SLO)$/os_rename.obj \ ++ $(SLO)$/os_rw.obj \ ++ $(SLO)$/os_seek.obj \ ++ $(SLO)$/os_stat.obj \ ++ $(SLO)$/os_truncate.obj \ ++ $(SLO)$/os_unlink.obj \ ++ $(SLO)$/os_yield.obj \ ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/qam/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/qam/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,26 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=qam ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/qam.obj \ ++ $(SLO)$/qam_auto.obj \ ++ $(SLO)$/qam_conv.obj \ ++ $(SLO)$/qam_files.obj \ ++ $(SLO)$/qam_method.obj \ ++ $(SLO)$/qam_open.obj \ ++ $(SLO)$/qam_rec.obj \ ++ $(SLO)$/qam_stat.obj \ ++ $(SLO)$/qam_upgrade.obj \ ++ $(SLO)$/qam_verify.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/rep/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/rep/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,27 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=rep ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/rep_auto.obj \ ++ $(SLO)$/rep_backup.obj \ ++ $(SLO)$/rep_elect.obj \ ++ $(SLO)$/rep_lease.obj \ ++ $(SLO)$/rep_log.obj \ ++ $(SLO)$/rep_method.obj \ ++ $(SLO)$/rep_record.obj \ ++ $(SLO)$/rep_region.obj \ ++ $(SLO)$/rep_stat.obj \ ++ $(SLO)$/rep_util.obj \ ++ $(SLO)$/rep_verify.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/repmgr/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/repmgr/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,26 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=repmgr ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/repmgr_auto.obj \ ++ $(SLO)$/repmgr_elect.obj \ ++ $(SLO)$/repmgr_method.obj \ ++ $(SLO)$/repmgr_msg.obj \ ++ $(SLO)$/repmgr_net.obj \ ++ $(SLO)$/repmgr_queue.obj \ ++ $(SLO)$/repmgr_sel.obj \ ++ $(SLO)$/repmgr_stat.obj \ ++ $(SLO)$/repmgr_util.obj \ ++ $(SLO)$/repmgr_windows.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/sequence/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/sequence/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,18 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=sequence ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/seq_stat.obj \ ++ $(SLO)$/sequence.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/txn/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/txn/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,26 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=txn ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/txn.obj \ ++ $(SLO)$/txn_auto.obj \ ++ $(SLO)$/txn_chkpt.obj \ ++ $(SLO)$/txn_failchk.obj \ ++ $(SLO)$/txn_method.obj \ ++ $(SLO)$/txn_rec.obj \ ++ $(SLO)$/txn_recover.obj \ ++ $(SLO)$/txn_region.obj \ ++ $(SLO)$/txn_stat.obj \ ++ $(SLO)$/txn_util.obj ++ ++.INCLUDE : target.mk ++ +--- misc/db-4.7.25.NC/xa/makefile.mk 2009-07-21 11:42:40.000000000 +0200 ++++ misc/build/db-4.7.25.NC/xa/makefile.mk 2009-07-21 11:39:26.000000000 +0200 +@@ -1 +1,19 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=berkeleydb ++TARGET=xa ++ ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++.INCLUDE : settings.mk ++ ++INCPRE+=..$/build_windows ..$/ ++CDEFS+=-D_WINDLL -DUNICODE -D_UNICODE -DDB_CREATE_DLL -D_WINDOWS ++ ++SLOFILES= \ ++ $(SLO)$/xa.obj \ ++ $(SLO)$/xa_db.obj \ ++ $(SLO)$/xa_map.obj ++ ++.INCLUDE : target.mk ++ diff --git a/berkeleydb/db-aix.patch b/berkeleydb/db-aix.patch new file mode 100644 index 000000000000..3a2c21f1cf62 --- /dev/null +++ b/berkeleydb/db-aix.patch @@ -0,0 +1,205 @@ +--- misc/db-4.7.25.NC/dist/config.guess 2010-08-19 03:29:33.000000000 -0500 ++++ misc/build/db-4.7.25.NC/dist/config.guess 2010-08-19 03:32:57.000000000 -0500 +@@ -532,7 +532,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[456]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -544,6 +544,9 @@ + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi ++ if [ "$IBM_REV" == "V7BETA" ]; then ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) +--- misc/db-4.7.25.NC/dist/configure 2010-09-15 10:06:54.000000000 -0500 ++++ misc/build/db-4.7.25.NC/dist/configure 2010-09-15 10:12:41.000000000 -0500 +@@ -3701,7 +3701,7 @@ + # Don't override anything if it's already set from the environment. + optimize_debug="-O" + case "$host_os" in +-aix4.3.*|aix5*) ++aix[4-9]*) + case "$host_os" in + aix4.3.*) + CPPFLAGS="$CPPFLAGS -D_LINUX_SOURCE_COMPAT";; +@@ -6452,7 +6452,7 @@ + # whether `pass_all' will *always* work, you probably want this one. + + case $host_os in +-aix4* | aix5*) ++aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +@@ -9439,7 +9439,7 @@ + + # See if GNU ld supports shared libraries. + case $host_os in +- aix3* | aix4* | aix5*) ++ aix[4-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no +@@ -9649,7 +9649,7 @@ + fi + ;; + +- aix4* | aix5*) ++ aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. +@@ -9669,7 +9669,7 @@ + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. +- case $host_os in aix4.[23]|aix4.[23].*|aix5*) ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes +@@ -10410,7 +10410,7 @@ + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +-aix4* | aix5*) ++aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no +@@ -11826,7 +11826,7 @@ + fi + ;; + +-aix4* | aix5*) ++aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi +@@ -12670,7 +12670,7 @@ + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +- aix4* | aix5*) ++ aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. +@@ -12683,7 +12683,7 @@ + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. +- case $host_os in aix4.[23]|aix4.[23].*|aix5*) ++ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) +@@ -13805,7 +13805,7 @@ + esac + else + case $host_os in +- aix4* | aix5*) ++ aix[4-9]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor +@@ -14201,7 +14201,7 @@ + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in +- aix4* | aix5*) ++ aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then +@@ -14334,7 +14334,7 @@ + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +-aix4* | aix5*) ++aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no +@@ -15455,7 +15455,7 @@ + postinstall_cmds='$RANLIB $lib' + fi + ;; +-aix4* | aix5*) ++aix[4-9]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi +@@ -15966,7 +15966,7 @@ + + # See if GNU ld supports shared libraries. + case $host_os in +- aix3* | aix4* | aix5*) ++ aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no +@@ -16176,7 +16176,7 @@ + fi + ;; + +- aix4* | aix5*) ++ aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. +@@ -16917,7 +16917,7 @@ + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +-aix4* | aix5*) ++aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no +@@ -18540,7 +18540,7 @@ + + # See if GNU ld supports shared libraries. + case $host_os in +- aix3* | aix4* | aix5*) ++ aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no +@@ -18750,7 +18750,7 @@ + fi + ;; + +- aix4* | aix5*) ++ aix[4-9]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. +@@ -19511,7 +19511,7 @@ + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +-aix4* | aix5*) ++aix[4-9]*) + version_type=linux + need_lib_prefix=no + need_version=no +--- misc/db-4.7.25.NC/dist/configure.ac 2010-09-15 10:06:54.000000000 -0500 ++++ misc/build/db-4.7.25.NC/dist/configure.ac 2010-09-15 10:08:45.000000000 -0500 +@@ -154,7 +154,7 @@ + # Don't override anything if it's already set from the environment. + optimize_debug="-O" + case "$host_os" in +-aix4.3.*|aix5*) ++aix[4-9]*) + case "$host_os" in + aix4.3.*) + CPPFLAGS="$CPPFLAGS -D_LINUX_SOURCE_COMPAT";; diff --git a/berkeleydb/makefile.mk b/berkeleydb/makefile.mk new file mode 100644 index 000000000000..376b1d93dfe9 --- /dev/null +++ b/berkeleydb/makefile.mk @@ -0,0 +1,187 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=so_berkeleydb +TARGET=so_berkeleydb + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_DB)" == "YES" +all: + @echo "An already available installation of db should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=db-4.7.25.NC-custom +TARFILE_MD5=d70951c80dabecc2892c919ff5d07172 +TARFILE_ROOTDIR=db-4.7.25.NC + +ADDITIONAL_FILES= \ + makefile.mk btree$/makefile.mk clib$/makefile.mk common$/makefile.mk \ + cxx$/makefile.mk db$/makefile.mk dbm$/makefile.mk dbreg$/makefile.mk \ + env$/makefile.mk fileops$/makefile.mk hash$/makefile.mk hmac$/makefile.mk \ + hsearch$/makefile.mk lock$/makefile.mk log$/makefile.mk mp$/makefile.mk \ + mutex$/makefile.mk os$/makefile.mk os_windows$/makefile.mk \ + qam$/makefile.mk rep$/makefile.mk repmgr$/makefile.mk \ + sequence$/makefile.mk txn$/makefile.mk xa$/makefile.mk \ + db_4_7_gcc4.map + +# not needed for win32. comment out when causing problems... +.IF "$(GUI)$(COM)"=="WNTGCC" +PATCH_FILES=db-4.7.25-mingw.patch +.ELSE +PATCH_FILES=\ + db-4.7.25.patch \ + db-aix.patch +.ENDIF + +# clean compiler flags +CFLAGS:= +CXXFLAGS:= + +# disable aliasing for all GCC platforms, at least GCC 4.x needs it if +# optimization level >= 2 +.IF "$(COM)"=="GCC" +CFLAGS:=-fno-strict-aliasing $(EXTRA_CFLAGS) +CXXFLAGS:=-fno-strict-aliasing $(EXTRA_CFLAGS) +.ENDIF + +.IF "$(GUI)"=="UNX" +.IF "$(OS)$(COM)"=="LINUXGCC" +LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN' +.EXPORT: LDFLAGS +#The current dir when linking is unxlngi6.pro/misc/build/db-4.2.52.NC/out +# the map file is in unxlngi6.pro/misc/build/db-4.2.52.NC +LDFLAGSVERSION:= -Wl,--version-script=../db_4_7_gcc4.map +.EXPORT: LDFLAGSVERSION +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" +.IF "$(OS)$(COM)"=="SOLARISC52" +LDFLAGS:=$(ARCH_FLAGS) -R\''$$$$ORIGIN'\' +.EXPORT: LDFLAGS +.ENDIF # "$(OS)$(COM)"=="SOLARISC52" + +CONFIGURE_DIR=out +#relative to CONFIGURE_DIR +CONFIGURE_ACTION= \ + ..$/dist$/configure +CONFIGURE_FLAGS=--disable-cxx --enable-dynamic --enable-compat185 CC='$(CC) $(SOLARLIB)' +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS+= --disable-shared +.ELSE +CONFIGURE_FLAGS+= --enable-shared +.ENDIF +.IF "$(OS)"=="MACOSX" +CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" +.ENDIF +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +# just pass ARCH_FLAGS to native build +CFLAGS+:=$(ARCH_FLAGS) +CXXFLAGS+:=$(ARCH_FLAGS) +.EXPORT : CFLAGS CXXFLAGS + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_DIR_OUT=$(CONFIGURE_DIR) +BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) + +.IF "$(OS)"=="IOS" || "$(OS)" == "ANDROID" +OUT2LIB=$(BUILD_DIR)$/libdb*.a +.ELSE +OUT2LIB=$(BUILD_DIR)$/.libs$/libdb*$(DLLPOST) +.ENDIF +OUT2INC= \ + $(BUILD_DIR)$/db.h + +.ENDIF # "$(GUI)"=="UNX" + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +CONFIGURE_DIR=out +#relative to CONFIGURE_DIR +# TODO needs clean up +CFLAGS+=-nostdinc +db_CC=$(CC) -mthreads +db_CXX=$(CXX) -mthreads +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +db_CC+=-shared-libgcc +db_CXX+=-shared-libgcc +.ENDIF +db_LDFLAGS=-no-undefined -L$(SOLARVER)/$(INPATH)/lib -L$(SOLARVER)/$(INPATH)/bin +.IF "$(USE_MINGW)"=="cygwin" +db_LDFLAGS+=-L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api +.ENDIF +db_LDFLAGS+=-L$(COMPATH)/lib -L$(MINGW_CLIB_DIR) +db_LIBS= +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +CFLAGS+=-D_GLIBCXX_DLL +db_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF +db_LIBXSO_LIBS=$(db_LIBS) +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +db_LIBXSO_LIBS+=-lgcc_s +.ENDIF +CONFIGURE_ACTION=..$/dist$/configure +CONFIGURE_FLAGS=--disable-cxx --enable-dynamic --enable-shared --build=i586-pc-mingw32 --host=i586-pc-mingw32 --enable-mingw CC="$(db_CC)" CXX="$(db_CXX)" LN_S=ln NM="$(WRAPCMD) nm" OBJDUMP="$(WRAPCMD) objdump" JAVA="$(WRAPCMD) -env java" JAVAC="$(WRAPCMD) -env javac" CFLAGS="$(CFLAGS)" CPPFLAGS="$(INCLUDE)" LDFLAGS="$(db_LDFLAGS)" LIBS="$(db_LIBS)" LIBSO_LIBS="$(db_LIBS)" LIBJSO_LIBS="$(db_LIBS)" LIBXSO_LIBS="$(db_LIBXSO_LIBS)" + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_DIR_OUT=$(CONFIGURE_DIR) +BUILD_ACTION=make + +OUT2LIB=$(BUILD_DIR)$/.libs$/libdb47.dll.a +OUT2BIN=$(BUILD_DIR)$/.libs$/libdb47.dll + +OUT2INC= \ + $(BUILD_DIR)$/db.h +.IF "$(GUI)$(COM)"=="WNTGCC" +.EXPORT : PWD +.ENDIF + +.ELSE +BUILD_DIR= +BUILD_ACTION=dmake + +BUILD_DIR_OUT=build_windows +OUT2INC= \ + $(BUILD_DIR_OUT)$/db.h +.ENDIF +.ENDIF # "$(GUI)"=="WNT" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + + diff --git a/berkeleydb/prj/build.lst b/berkeleydb/prj/build.lst new file mode 100644 index 000000000000..55a7bf1a70a6 --- /dev/null +++ b/berkeleydb/prj/build.lst @@ -0,0 +1,3 @@ +db berkeleydb : external NULL +db berkeleydb nmake - u as_mkout NULL +db berkeleydb nmake - w,vc7 as_mkout NULL diff --git a/berkeleydb/prj/d.lst b/berkeleydb/prj/d.lst new file mode 100644 index 000000000000..1d50f617a1e6 --- /dev/null +++ b/berkeleydb/prj/d.lst @@ -0,0 +1,12 @@ +mkdir: %_DEST%\inc\berkeleydb + +..\%__SRC%\inc\db.h %_DEST%\inc\berkeleydb\db.h + +..\%__SRC%\lib\libdb47.lib %_DEST%\lib\libdb47.lib +..\%__SRC%\lib\libdb-4.7.a %_DEST%\lib\libdb-4.7.a +..\%__SRC%\lib\libdb-4.7.so %_DEST%\lib\libdb-4.7.so +..\%__SRC%\lib\libdb-4.7.dylib %_DEST%\lib\libdb-4.7.dylib +..\%__SRC%\lib\libdb47.dll.a %_DEST%\lib\libdb-4.7.a +..\%__SRC%\bin\libdb47.dll %_DEST%\bin\libdb47.dll + + diff --git a/boost/README.Regex_Experimental b/boost/README.Regex_Experimental new file mode 100644 index 000000000000..3718fc551884 --- /dev/null +++ b/boost/README.Regex_Experimental @@ -0,0 +1,30 @@ +Regular expressions status +Fri Oct 25 19:36:59 MEST 2002 + +Boost 1.28 and 1.29 didn't compile on Solaris with STL 4.0, therefor +sticked to v1.27 + +Made compile and link regex under wntmsci9 (MSVC 6.03 with STLport 4.0) +and unxsols3 (Sun WorkShop 6 update 1 C++ 5.2 with STLport 4.0). Failed +on unxlngi4 (g++ 3.0.1 with glibc 2.1.1 and STLport 4.0) due to wctype (and +maybe other wide character functions) not properly supported. Gave up due to +time restrictions, feel free to improve. + +Archive Regex_Experimental.tar.gz contains RE.* files that may be used +for further approaches. Extract and issue the command line + +dmake -f RE.makefile.mk + +Even if it compiled for all platforms, the remaining issue would be use +of locales. The system's locale would be used, which doesn't guarantee +that it works like intended, especially behavior could be different +between platforms. + +I had a short glance at the PCRE (Perl Compatible Regular Expressions) +available at http://www.pcre.org/, good library, but doesn't support +Unicode. Localized 256 octets tables are created from locale +information. Rudimentary UTF-8 support is implemented, but incomplete +and experimental. + +Hope we can solve the RE issues somehow :-/ +Eike Rathke <er@openoffice.org> diff --git a/boost/Regex_Experimental.tar.gz b/boost/Regex_Experimental.tar.gz Binary files differnew file mode 100644 index 000000000000..087b8a2a7850 --- /dev/null +++ b/boost/Regex_Experimental.tar.gz diff --git a/boost/aliasing.patch b/boost/aliasing.patch new file mode 100644 index 000000000000..5ca5ed07ba65 --- /dev/null +++ b/boost/aliasing.patch @@ -0,0 +1,43 @@ +--- misc/boost_1_44_0/boost/function/function_base.hpp ++++ misc/build/boost_1_44_0/boost/function/function_base.hpp +@@ -2,6 +2,7 @@ + + // Copyright Douglas Gregor 2001-2006 + // Copyright Emil Dotchevski 2007 ++// Copyright Dean Michael Berris 2009 + // Use, modification and distribution is subject to the Boost Software License, Version 1.0. + // (See accompanying file LICENSE_1_0.txt or copy at + // http://www.boost.org/LICENSE_1_0.txt) +@@ -44,6 +45,13 @@ + # pragma warning( disable : 4127 ) // "conditional expression is constant" + #endif + ++#if defined(__GNUC__) ++// Because GCC complains of strict aliasing problems, we make it ++// treat the header as a system header, becoming more forgiving with ++// treating implementation details that may be potentially harmful. ++# pragma GCC system_header ++#endif ++ + // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info. + #ifdef BOOST_NO_STD_TYPEINFO + // Embedded VC++ does not have type_info in namespace std +@@ -314,15 +322,15 @@ + { + if (op == clone_functor_tag || op == move_functor_tag) { + const functor_type* in_functor = +- reinterpret_cast<const functor_type*>(&in_buffer.data); ++ static_cast<const functor_type*>(static_cast<void*>(&in_buffer.data)); + new ((void*)&out_buffer.data) functor_type(*in_functor); + + if (op == move_functor_tag) { +- reinterpret_cast<functor_type*>(&in_buffer.data)->~Functor(); ++ static_cast<functor_type*>(static_cast<void*>(&in_buffer.data))->~Functor(); + } + } else if (op == destroy_functor_tag) { + // Some compilers (Borland, vc6, ...) are unhappy with ~functor_type. +- reinterpret_cast<functor_type*>(&out_buffer.data)->~Functor(); ++ static_cast<functor_type*>(static_cast<void*>(&out_buffer.data))->~Functor(); + } else if (op == check_functor_type_tag) { + const detail::sp_typeinfo& check_type + = *out_buffer.type.type; diff --git a/boost/boost.4713.warnings.patch b/boost/boost.4713.warnings.patch new file mode 100644 index 000000000000..df769476024b --- /dev/null +++ b/boost/boost.4713.warnings.patch @@ -0,0 +1,902 @@ +--- misc/boost_1_44_0/boost/ptr_container/detail/map_iterator.hpp 2008-06-24 22:37:35.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/ptr_container/detail/map_iterator.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -49,7 +49,7 @@ + : first(rp->first), second(rp->second) + { } + +- const ref_pair* const operator->() const ++ const ref_pair* operator->() const + { + return this; + } +--- misc/boost_1_44_0/boost/ptr_container/ptr_map_adapter.hpp 2008-06-24 22:37:35.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/ptr_container/ptr_map_adapter.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -477,6 +477,7 @@ + } + + ptr_map_adapter( const ptr_map_adapter& r ) ++ : base_type() + { + map_basic_clone_and_insert( r.begin(), r.end() ); + } +--- misc/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp 2009-11-01 12:07:12.000000000 +0100 ++++ misc/build/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -476,19 +476,19 @@ + public: // C-array support + + void transfer( iterator before, value_type* from, +- size_type size, bool delete_from = true ) // strong ++ size_type size_, bool delete_from = true ) // strong + { + BOOST_ASSERT( from != 0 ); + if( delete_from ) + { + BOOST_DEDUCED_TYPENAME base_type::scoped_deleter +- deleter( from, size ); // nothrow +- this->base().insert( before.base(), from, from + size ); // strong ++ deleter( from, size_ ); // nothrow ++ this->base().insert( before.base(), from, from + size_ ); // strong + deleter.release(); // nothrow + } + else + { +- this->base().insert( before.base(), from, from + size ); // strong ++ this->base().insert( before.base(), from, from + size_ ); // strong + } + } + +@@ -671,6 +671,7 @@ + void range_check_impl( iterator first, iterator last, + std::random_access_iterator_tag ) + { ++ (void)first; (void)last; + BOOST_ASSERT( first <= last && "out of range unique()/erase_if()" ); + BOOST_ASSERT( this->begin() <= first && "out of range unique()/erase_if()" ); + BOOST_ASSERT( last <= this->end() && "out of range unique()/erase_if)(" ); +--- misc/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp 2010-04-07 02:41:42.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/error_handling/exceptions.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -222,9 +222,9 @@ + + error_status( + result_t result_ = fail, +- std::ptrdiff_t length = -1, ++ std::ptrdiff_t length_ = -1, + T const& value_ = T()) +- : result(result_), length(length), value(value_) {} ++ : result(result_), length(length_), value(value_) {} + + result_t result; + std::ptrdiff_t length; +--- misc/boost_1_44_0/boost/spirit/home/classic/symbols/symbols.hpp 2008-06-22 17:05:38.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/symbols/symbols.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -102,13 +102,13 @@ + { + typedef typename ScannerT::iterator_t iterator_t; + iterator_t first = scan.first; +- typename SetT::search_info result = SetT::find(scan); ++ typename SetT::search_info result_ = SetT::find(scan); + +- if (result.data) ++ if (result_.data) + return scan. + create_match( +- result.length, +- symbol_ref_t(*result.data), ++ result_.length, ++ symbol_ref_t(*result_.data), + first, + scan.first); + else +--- misc/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp 2008-06-22 17:05:38.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/functor_parser.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -54,13 +54,13 @@ + typedef typename ScannerT::iterator_t iterator_t; + + iterator_t const s(scan.first); +- functor_result_t result; +- std::ptrdiff_t len = functor(scan, result); ++ functor_result_t functor_result; ++ std::ptrdiff_t len = functor(scan, functor_result); + + if (len < 0) + return scan.no_match(); + else +- return scan.create_match(std::size_t(len), result, s, scan.first); ++ return scan.create_match(std::size_t(len), functor_result, s, scan.first); + } + }; + +--- misc/boost_1_44_0/boost/spirit/home/classic/utility/loops.hpp 2008-06-22 17:05:38.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/utility/loops.hpp 2011-02-04 16:39:19.000000000 +0100 +@@ -47,8 +47,8 @@ + typedef fixed_loop<ParserT, ExactT> self_t; + typedef unary<ParserT, parser<self_t> > base_t; + +- fixed_loop (ParserT const & subject, ExactT const & exact) +- : base_t(subject), m_exact(exact) {} ++ fixed_loop (ParserT const & subject_, ExactT const & exact) ++ : base_t(subject_), m_exact(exact) {} + + template <typename ScannerT> + typename parser_result <self_t, ScannerT>::type +@@ -112,8 +112,8 @@ + typedef finite_loop <ParserT, MinT, MaxT> self_t; + typedef unary<ParserT, parser<self_t> > base_t; + +- finite_loop (ParserT const & subject, MinT const & min, MaxT const & max) +- : base_t(subject), m_min(min), m_max(max) {} ++ finite_loop (ParserT const & subject_, MinT const & min, MaxT const & max) ++ : base_t(subject_), m_min(min), m_max(max) {} + + template <typename ScannerT> + typename parser_result <self_t, ScannerT>::type +@@ -196,11 +196,11 @@ + typedef unary<ParserT, parser<self_t> > base_t; + + infinite_loop ( +- ParserT const& subject, ++ ParserT const& subject_, + MinT const& min, + more_t const& + ) +- : base_t(subject), m_min(min) {} ++ : base_t(subject_), m_min(min) {} + + template <typename ScannerT> + typename parser_result <self_t, ScannerT>::type +@@ -253,9 +253,9 @@ + + template <typename ParserT> + fixed_loop <ParserT, ExactT> +- operator[](parser <ParserT> const & subject) const ++ operator[](parser <ParserT> const & subject_) const + { +- return fixed_loop <ParserT, ExactT> (subject.derived (), m_exact); ++ return fixed_loop <ParserT, ExactT> (subject_.derived (), m_exact); + } + + ExactT m_exact; +@@ -283,11 +283,11 @@ + + template <typename ParserT> + typename impl::loop_traits<ParserT, MinT, MaxT>::type +- operator[](parser <ParserT> const & subject) const ++ operator[](parser <ParserT> const & subject_) const + { + typedef typename impl::loop_traits<ParserT, MinT, MaxT>::type ret_t; + return ret_t( +- subject.derived(), ++ subject_.derived(), + m_min, + m_max); + } +--- misc/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-04 16:55:26.000000000 +0100 ++++ misc/build/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-05 03:34:26.000000000 +0100 +@@ -33,10 +33,10 @@ + template <class T> + template <class Key, class Pred> + inline BOOST_DEDUCED_TYPENAME T::node_ptr +- hash_table<T>::find_iterator(bucket_ptr bucket, Key const& k, ++ hash_table<T>::find_iterator(bucket_ptr bucket_, Key const& k, + Pred const& eq) const + { +- node_ptr it = bucket->next_; ++ node_ptr it = bucket_->next_; + while (BOOST_UNORDERED_BORLAND_BOOL(it) && + !eq(k, get_key(node::get_value(it)))) + { +@@ -50,9 +50,9 @@ + template <class T> + inline BOOST_DEDUCED_TYPENAME T::node_ptr + hash_table<T>::find_iterator( +- bucket_ptr bucket, key_type const& k) const ++ bucket_ptr bucket_, key_type const& k) const + { +- node_ptr it = bucket->next_; ++ node_ptr it = bucket_->next_; + while (BOOST_UNORDERED_BORLAND_BOOL(it) && + !equal(k, node::get_value(it))) + { +@@ -75,9 +75,9 @@ + template <class T> + inline BOOST_DEDUCED_TYPENAME T::node_ptr* + hash_table<T>::find_for_erase( +- bucket_ptr bucket, key_type const& k) const ++ bucket_ptr bucket_, key_type const& k) const + { +- node_ptr* it = &bucket->next_; ++ node_ptr* it = &bucket_->next_; + while(BOOST_UNORDERED_BORLAND_BOOL(*it) && + !equal(k, node::get_value(*it))) + { +@@ -475,7 +475,7 @@ + { + hasher const& hf = this->hash_function(); + std::size_t size = this->size_; +- bucket_ptr end = this->get_bucket(this->bucket_count_); ++ bucket_ptr end_ = this->get_bucket(this->bucket_count_); + + buckets dst(this->node_alloc(), num_buckets); + dst.create_buckets(); +@@ -484,10 +484,10 @@ + src.swap(*this); + this->size_ = 0; + +- for(bucket_ptr bucket = this->cached_begin_bucket_; +- bucket != end; ++bucket) ++ for(bucket_ptr bucket_ = this->cached_begin_bucket_; ++ bucket_ != end_; ++bucket_) + { +- node_ptr group = bucket->next_; ++ node_ptr group = bucket_->next_; + while(group) { + // Move the first group of equivalent nodes in bucket to dst. + +@@ -496,10 +496,10 @@ + hf(get_key_from_ptr(group))); + + node_ptr& next_group = node::next_group(group); +- bucket->next_ = next_group; ++ bucket_->next_ = next_group; + next_group = dst_bucket->next_; + dst_bucket->next_ = group; +- group = bucket->next_; ++ group = bucket_->next_; + } + } + +@@ -525,13 +525,13 @@ + BOOST_ASSERT(this->buckets_ && !dst.buckets_); + + hasher const& hf = this->hash_function(); +- bucket_ptr end = this->get_bucket(this->bucket_count_); ++ bucket_ptr end_ = this->get_bucket(this->bucket_count_); + + node_constructor a(dst); + dst.create_buckets(); + + // no throw: +- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i) { ++ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i) { + // no throw: + for(node_ptr it = i->next_; it;) { + // hash function can throw. +@@ -579,11 +579,11 @@ + { + if(!this->size_) return this->end(); + +- bucket_ptr bucket = this->get_bucket(this->bucket_index(k)); +- node_ptr it = find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k)); ++ node_ptr it = find_iterator(bucket_, k); + + if (BOOST_UNORDERED_BORLAND_BOOL(it)) +- return iterator_base(bucket, it); ++ return iterator_base(bucket_, it); + else + return this->end(); + } +@@ -595,11 +595,11 @@ + { + if(!this->size_) return this->end(); + +- bucket_ptr bucket = this->get_bucket(h(k) % this->bucket_count_); +- node_ptr it = find_iterator(bucket, k, eq); ++ bucket_ptr bucket_ = this->get_bucket(h(k) % this->bucket_count_); ++ node_ptr it = find_iterator(bucket_, k, eq); + + if (BOOST_UNORDERED_BORLAND_BOOL(it)) +- return iterator_base(bucket, it); ++ return iterator_base(bucket_, it); + else + return this->end(); + } +@@ -611,8 +611,8 @@ + if(!this->size_) + boost::throw_exception(std::out_of_range("Unable to find key in unordered_map.")); + +- bucket_ptr bucket = this->get_bucket(this->bucket_index(k)); +- node_ptr it = find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k)); ++ node_ptr it = find_iterator(bucket_, k); + + if (!it) + boost::throw_exception(std::out_of_range("Unable to find key in unordered_map.")); +@@ -630,10 +630,10 @@ + if(!this->size_) + return iterator_pair(this->end(), this->end()); + +- bucket_ptr bucket = this->get_bucket(this->bucket_index(k)); +- node_ptr it = find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k)); ++ node_ptr it = find_iterator(bucket_, k); + if (BOOST_UNORDERED_BORLAND_BOOL(it)) { +- iterator_base first(iterator_base(bucket, it)); ++ iterator_base first(iterator_base(bucket_, it)); + iterator_base second(first); + second.increment_bucket(node::next_group(second.node_)); + return iterator_pair(first, second); +@@ -651,26 +651,26 @@ + { + if(!this->size_) return; + +- bucket_ptr end = this->get_bucket(this->bucket_count_); +- for(bucket_ptr begin = this->buckets_; begin != end; ++begin) { +- this->clear_bucket(begin); ++ bucket_ptr end_ = this->get_bucket(this->bucket_count_); ++ for(bucket_ptr begin_ = this->buckets_; begin_ != end_; ++begin_) { ++ this->clear_bucket(begin_); + } + + this->size_ = 0; +- this->cached_begin_bucket_ = end; ++ this->cached_begin_bucket_ = end_; + } + + template <class T> + inline std::size_t hash_table<T>::erase_group( +- node_ptr* it, bucket_ptr bucket) ++ node_ptr* it, bucket_ptr bucket_) + { + node_ptr pos = *it; +- node_ptr end = node::next_group(pos); +- *it = end; +- std::size_t count = this->delete_nodes(pos, end); +- this->size_ -= count; +- this->recompute_begin_bucket(bucket); +- return count; ++ node_ptr end_ = node::next_group(pos); ++ *it = end_; ++ std::size_t count_ = this->delete_nodes(pos, end_); ++ this->size_ -= count_; ++ this->recompute_begin_bucket(bucket_); ++ return count_; + } + + template <class T> +@@ -679,11 +679,11 @@ + if(!this->size_) return 0; + + // No side effects in initial section +- bucket_ptr bucket = this->get_bucket(this->bucket_index(k)); +- node_ptr* it = this->find_for_erase(bucket, k); ++ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k)); ++ node_ptr* it = this->find_for_erase(bucket_, k); + + // No throw. +- return *it ? this->erase_group(it, bucket) : 0; ++ return *it ? this->erase_group(it, bucket_) : 0; + } + + template <class T> +@@ -766,12 +766,12 @@ + std::size_t hash_value = this->hash_function()(k); + if(this->buckets_) this->reserve_for_insert(size); + else this->create_for_insert(size); +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); + node_ptr n = a.release(); +- node::add_to_bucket(n, *bucket); ++ node::add_to_bucket(n, *bucket_); + ++this->size_; +- this->cached_begin_bucket_ = bucket; +- return iterator_base(bucket, n); ++ this->cached_begin_bucket_ = bucket_; ++ return iterator_base(bucket_, n); + } + }} + +--- misc/boost_1_44_0/boost/unordered/detail/unique.hpp 2011-02-05 03:28:39.000000000 +0100 ++++ misc/build/boost_1_44_0/boost/unordered/detail/unique.hpp 2011-02-05 03:36:54.000000000 +0100 +@@ -57,7 +57,7 @@ + + bool equals(hash_unique_table const&) const; + +- node_ptr add_node(node_constructor& a, bucket_ptr bucket); ++ node_ptr add_node(node_constructor& a, bucket_ptr bucket_); + + #if defined(BOOST_UNORDERED_STD_FORWARD) + +@@ -135,8 +135,8 @@ + if(this->size_ != other.size_) return false; + if(!this->size_) return true; + +- bucket_ptr end = this->get_bucket(this->bucket_count_); +- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i) ++ bucket_ptr end_ = this->get_bucket(this->bucket_count_); ++ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i) + { + node_ptr it1 = i->next_; + while(BOOST_UNORDERED_BORLAND_BOOL(it1)) +@@ -159,13 +159,13 @@ + template <class T> + inline BOOST_DEDUCED_TYPENAME hash_unique_table<T>::node_ptr + hash_unique_table<T>::add_node(node_constructor& a, +- bucket_ptr bucket) ++ bucket_ptr bucket_) + { + node_ptr n = a.release(); +- node::add_to_bucket(n, *bucket); ++ node::add_to_bucket(n, *bucket_); + ++this->size_; +- if(bucket < this->cached_begin_bucket_) +- this->cached_begin_bucket_ = bucket; ++ if(bucket_ < this->cached_begin_bucket_) ++ this->cached_begin_bucket_ = bucket_; + return n; + } + +@@ -181,7 +181,7 @@ + typedef BOOST_DEDUCED_TYPENAME value_type::second_type mapped_type; + + std::size_t hash_value = this->hash_function()(k); +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); + + if(!this->buckets_) { + node_constructor a(*this); +@@ -189,7 +189,7 @@ + return *this->emplace_empty_impl_with_node(a, 1); + } + +- node_ptr pos = this->find_iterator(bucket, k); ++ node_ptr pos = this->find_iterator(bucket_, k); + + if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { + return node::get_value(pos); +@@ -205,11 +205,11 @@ + // reserve has basic exception safety if the hash function + // throws, strong otherwise. + if(this->reserve_for_insert(this->size_ + 1)) +- bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ = this->bucket_ptr_from_hash(hash_value); + + // Nothing after this point can throw. + +- return node::get_value(add_node(a, bucket)); ++ return node::get_value(add_node(a, bucket_)); + } + } + +@@ -220,22 +220,22 @@ + // No side effects in this initial code + key_type const& k = this->get_key(a.value()); + std::size_t hash_value = this->hash_function()(k); +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); +- node_ptr pos = this->find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); ++ node_ptr pos = this->find_iterator(bucket_, k); + + if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { + // Found an existing key, return it (no throw). +- return emplace_return(iterator_base(bucket, pos), false); ++ return emplace_return(iterator_base(bucket_, pos), false); + } else { + // reserve has basic exception safety if the hash function + // throws, strong otherwise. + if(this->reserve_for_insert(this->size_ + 1)) +- bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ = this->bucket_ptr_from_hash(hash_value); + + // Nothing after this point can throw. + + return emplace_return( +- iterator_base(bucket, add_node(a, bucket)), ++ iterator_base(bucket_, add_node(a, bucket_)), + true); + } + } +@@ -250,12 +250,12 @@ + { + // No side effects in this initial code + std::size_t hash_value = this->hash_function()(k); +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); +- node_ptr pos = this->find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); ++ node_ptr pos = this->find_iterator(bucket_, k); + + if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { + // Found an existing key, return it (no throw). +- return emplace_return(iterator_base(bucket, pos), false); ++ return emplace_return(iterator_base(bucket_, pos), false); + + } else { + // Doesn't already exist, add to bucket. +@@ -269,12 +269,12 @@ + // reserve has basic exception safety if the hash function + // throws, strong otherwise. + if(this->reserve_for_insert(this->size_ + 1)) +- bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ = this->bucket_ptr_from_hash(hash_value); + + // Nothing after this point can throw. + + return emplace_return( +- iterator_base(bucket, add_node(a, bucket)), ++ iterator_base(bucket_, add_node(a, bucket_)), + true); + } + } +@@ -313,21 +313,21 @@ + BOOST_UNORDERED_FUNCTION_PARAMS(z, num_params)) \ + { \ + std::size_t hash_value = this->hash_function()(k); \ +- bucket_ptr bucket \ ++ bucket_ptr bucket_ \ + = this->bucket_ptr_from_hash(hash_value); \ +- node_ptr pos = this->find_iterator(bucket, k); \ ++ node_ptr pos = this->find_iterator(bucket_, k); \ + \ + if (BOOST_UNORDERED_BORLAND_BOOL(pos)) { \ +- return emplace_return(iterator_base(bucket, pos), false); \ ++ return emplace_return(iterator_base(bucket_, pos), false); \ + } else { \ + node_constructor a(*this); \ + a.construct(BOOST_UNORDERED_CALL_PARAMS(z, num_params)); \ + \ + if(this->reserve_for_insert(this->size_ + 1)) \ +- bucket = this->bucket_ptr_from_hash(hash_value); \ ++ bucket_ = this->bucket_ptr_from_hash(hash_value); \ + \ +- return emplace_return(iterator_base(bucket, \ +- add_node(a, bucket)), true); \ ++ return emplace_return(iterator_base(bucket_, \ ++ add_node(a, bucket_)), true); \ + } \ + } \ + \ +@@ -441,8 +441,8 @@ + // different second_type. + key_type const& k = extractor::extract(*i); + std::size_t hash_value = this->hash_function()(k); +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); +- node_ptr pos = this->find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); ++ node_ptr pos = this->find_iterator(bucket_, k); + + if (!BOOST_UNORDERED_BORLAND_BOOL(pos)) { + // Doesn't already exist, add to bucket. +@@ -456,11 +456,11 @@ + // throws, strong otherwise. + if(this->size_ + 1 >= this->max_load_) { + this->reserve_for_insert(this->size_ + insert_size(i, j)); +- bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ = this->bucket_ptr_from_hash(hash_value); + } + + // Nothing after this point can throw. +- add_node(a, bucket); ++ add_node(a, bucket_); + } + } while(++i != j); + } +--- misc/boost_1_44_0/boost/unordered/detail/equivalent.hpp 2010-06-09 01:23:43.000000000 +0200 ++++ misc/build/boost_1_44_0/boost/unordered/detail/equivalent.hpp 2011-02-05 04:15:47.000000000 +0100 +@@ -57,7 +57,7 @@ + bool equals(hash_equivalent_table const&) const; + + inline node_ptr add_node(node_constructor& a, +- bucket_ptr bucket, node_ptr pos); ++ bucket_ptr bucket_, node_ptr pos); + + #if defined(BOOST_UNORDERED_STD_FORWARD) + +@@ -117,8 +117,8 @@ + if(this->size_ != other.size_) return false; + if(!this->size_) return true; + +- bucket_ptr end = this->get_bucket(this->bucket_count_); +- for(bucket_ptr i = this->cached_begin_bucket_; i != end; ++i) ++ bucket_ptr end_ = this->get_bucket(this->bucket_count_); ++ for(bucket_ptr i = this->cached_begin_bucket_; i != end_; ++i) + { + node_ptr it1 = i->next_; + while(BOOST_UNORDERED_BORLAND_BOOL(it1)) +@@ -149,16 +149,16 @@ + template <class T> + inline BOOST_DEDUCED_TYPENAME hash_equivalent_table<T>::node_ptr + hash_equivalent_table<T> +- ::add_node(node_constructor& a, bucket_ptr bucket, node_ptr pos) ++ ::add_node(node_constructor& a, bucket_ptr bucket_, node_ptr pos) + { + node_ptr n = a.release(); + if(BOOST_UNORDERED_BORLAND_BOOL(pos)) { + node::add_after_node(n, pos); + } + else { +- node::add_to_bucket(n, *bucket); +- if(bucket < this->cached_begin_bucket_) +- this->cached_begin_bucket_ = bucket; ++ node::add_to_bucket(n, *bucket_); ++ if(bucket_ < this->cached_begin_bucket_) ++ this->cached_begin_bucket_ = bucket_; + } + ++this->size_; + return n; +@@ -179,15 +179,15 @@ + return this->emplace_empty_impl_with_node(a, 1); + } + else { +- bucket_ptr bucket = this->bucket_ptr_from_hash(hash_value); +- node_ptr position = this->find_iterator(bucket, k); ++ bucket_ptr bucket_ = this->bucket_ptr_from_hash(hash_value); ++ node_ptr position = this->find_iterator(bucket_, k); + + // reserve has basic exception safety if the hash function + // throws, strong otherwise. + if(this->reserve_for_insert(this->size_ + 1)) +- bucket = this->bucket_ptr_from_hash(hash_value); ++ bucket_ = this->bucket_ptr_from_hash(hash_value); + +- return iterator_base(bucket, add_node(a, bucket, position)); ++ return iterator_base(bucket_, add_node(a, bucket_, position)); + } + } + +@@ -196,8 +196,8 @@ + ::emplace_impl_no_rehash(node_constructor& a) + { + key_type const& k = this->get_key(a.value()); +- bucket_ptr bucket = this->get_bucket(this->bucket_index(k)); +- add_node(a, bucket, this->find_iterator(bucket, k)); ++ bucket_ptr bucket_ = this->get_bucket(this->bucket_index(k)); ++ add_node(a, bucket_, this->find_iterator(bucket_, k)); + } + + #if defined(BOOST_UNORDERED_STD_FORWARD) +--- misc/boost_1_44_0/boost/ptr_container/exception.hpp 2011-02-05 09:42:56.074932485 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/exception.hpp 2011-02-05 09:43:00.350931536 +0000 +@@ -24,7 +24,7 @@ + { + const char* what_; + public: +- bad_ptr_container_operation( const char* what ) : what_( what ) ++ bad_ptr_container_operation( const char* _what ) : what_( _what ) + { } + + virtual const char* what() const throw() +@@ -38,7 +38,7 @@ + class bad_index : public bad_ptr_container_operation + { + public: +- bad_index( const char* what ) : bad_ptr_container_operation( what ) ++ bad_index( const char* _what ) : bad_ptr_container_operation( _what ) + { } + }; + +--- misc/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-02-05 09:49:30.373931807 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-02-05 09:49:34.804931932 +0000 +@@ -278,9 +278,9 @@ + + private: + template< class ForwardIterator > +- ForwardIterator advance( ForwardIterator begin, size_type n ) ++ ForwardIterator advance( ForwardIterator begin_, size_type n ) + { +- ForwardIterator iter = begin; ++ ForwardIterator iter = begin_; + std::advance( iter, n ); + return iter; + } +--- misc/boost_1_44_0/boost/ptr_container/detail/static_move_ptr.hpp 2011-02-05 09:55:44.846931338 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/detail/static_move_ptr.hpp 2011-02-05 09:56:42.760931701 +0000 +@@ -151,7 +151,7 @@ + deleter_const_reference get_deleter() const { return impl_.second(); } + private: + template<typename TT, typename DD> +- void check(const static_move_ptr<TT, DD>& ptr) ++ void check(const static_move_ptr<TT, DD>&) + { + typedef move_ptrs::is_smart_ptr_convertible<TT, T> convertible; + BOOST_STATIC_ASSERT(convertible::value); +--- misc/boost_1_44_0/boost/ptr_container/detail/move.hpp 2011-02-05 10:01:21.156931884 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/detail/move.hpp 2011-02-05 10:01:14.160931007 +0000 +@@ -20,7 +20,7 @@ + template<typename Ptr> + class move_source { + public: +- move_source(Ptr& ptr) : ptr_(ptr) {} ++ move_source(Ptr& _ptr) : ptr_(_ptr) {} + Ptr& ptr() const { return ptr_; } + private: + Ptr& ptr_; +--- misc/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/subrule.hpp 2011-02-08 09:24:50.817320629 +0000 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/non_terminal/subrule.hpp 2011-02-08 09:25:20.496639901 +0000 +@@ -210,7 +210,7 @@ + subrule_list< + subrule_parser<ID2, DefT2, ContextT2>, + nil_t> > +- operator,(subrule_parser<ID2, DefT2, ContextT2> const& rhs) const ++ operator,(subrule_parser<ID2, DefT2, ContextT2> const& rhs_) const + { + return subrule_list< + self_t, +@@ -220,7 +220,7 @@ + *this, + subrule_list< + subrule_parser<ID2, DefT2, ContextT2>, nil_t>( +- rhs, nil_t())); ++ rhs_, nil_t())); + } + + typename DefT::embed_t rhs; +--- misc/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp 2011-02-09 08:49:00.416529470 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/ptr_sequence_adapter.hpp 2011-02-09 08:50:44.607653864 +0000 +@@ -510,72 +510,72 @@ + + public: // resize + +- void resize( size_type size ) // basic ++ void resize( size_type size_ ) // basic + { + size_type old_size = this->size(); +- if( old_size > size ) ++ if( old_size > size_ ) + { +- this->erase( boost::next( this->begin(), size ), this->end() ); ++ this->erase( boost::next( this->begin(), size_ ), this->end() ); + } +- else if( size > old_size ) ++ else if( size_ > old_size ) + { +- for( ; old_size != size; ++old_size ) ++ for( ; old_size != size_; ++old_size ) + this->push_back( new BOOST_DEDUCED_TYPENAME + boost::remove_pointer<value_type>::type() ); + } + +- BOOST_ASSERT( this->size() == size ); ++ BOOST_ASSERT( this->size() == size_ ); + } + +- void resize( size_type size, value_type to_clone ) // basic ++ void resize( size_type size_, value_type to_clone ) // basic + { + size_type old_size = this->size(); +- if( old_size > size ) ++ if( old_size > size_ ) + { +- this->erase( boost::next( this->begin(), size ), this->end() ); ++ this->erase( boost::next( this->begin(), size_ ), this->end() ); + } +- else if( size > old_size ) ++ else if( size_ > old_size ) + { +- for( ; old_size != size; ++old_size ) ++ for( ; old_size != size_; ++old_size ) + this->push_back( this->null_policy_allocate_clone( to_clone ) ); + } + +- BOOST_ASSERT( this->size() == size ); ++ BOOST_ASSERT( this->size() == size_ ); + } + +- void rresize( size_type size ) // basic ++ void rresize( size_type size_ ) // basic + { + size_type old_size = this->size(); +- if( old_size > size ) ++ if( old_size > size_ ) + { + this->erase( this->begin(), +- boost::next( this->begin(), old_size - size ) ); ++ boost::next( this->begin(), old_size - size_ ) ); + } +- else if( size > old_size ) ++ else if( size_ > old_size ) + { +- for( ; old_size != size; ++old_size ) ++ for( ; old_size != size_; ++old_size ) + this->push_front( new BOOST_DEDUCED_TYPENAME + boost::remove_pointer<value_type>::type() ); + } + +- BOOST_ASSERT( this->size() == size ); ++ BOOST_ASSERT( this->size() == size_ ); + } + +- void rresize( size_type size, value_type to_clone ) // basic ++ void rresize( size_type size_, value_type to_clone ) // basic + { + size_type old_size = this->size(); +- if( old_size > size ) ++ if( old_size > size_ ) + { + this->erase( this->begin(), +- boost::next( this->begin(), old_size - size ) ); ++ boost::next( this->begin(), old_size - size_ ) ); + } +- else if( size > old_size ) ++ else if( size_ > old_size ) + { +- for( ; old_size != size; ++old_size ) ++ for( ; old_size != size_; ++old_size ) + this->push_front( this->null_policy_allocate_clone( to_clone ) ); + } + +- BOOST_ASSERT( this->size() == size ); ++ BOOST_ASSERT( this->size() == size_ ); + } + + public: // algorithms +--- misc/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:04:57.999046223 +0000 ++++ misc/build/boost_1_44_0/boost/unordered/detail/table.hpp 2011-02-10 15:05:44.260588237 +0000 +@@ -119,7 +119,7 @@ + + // From 6.3.1/13: + // Only resize when size >= mlf_ * count +- return double_to_size_t(ceil((double) mlf_ * this->bucket_count_)); ++ return double_to_size_t(ceil((double)mlf_ * (double)this->bucket_count_)); + } + + template <class T> +@@ -145,7 +145,7 @@ + // + // Or from rehash post-condition: + // count > size / mlf_ +- return next_prime(double_to_size_t(floor(size / (double) mlf_)) + 1); ++ return next_prime(double_to_size_t(floor((double)size / (double)mlf_)) + 1); + } + + //////////////////////////////////////////////////////////////////////////// +--- misc/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:50:52.173229648 +0000 ++++ misc/build/boost_1_44_0/boost/functional/hash/detail/hash_float_generic.hpp 2011-02-10 14:52:36.824433976 +0000 +@@ -53,7 +53,7 @@ + + v = ldexp(v, limits<std::size_t>::digits); + std::size_t seed = static_cast<std::size_t>(v); +- v -= seed; ++ v -= static_cast<T>(seed); + + // ceiling(digits(T) * log2(radix(T))/ digits(size_t)) - 1; + std::size_t const length +@@ -66,7 +66,7 @@ + { + v = ldexp(v, limits<std::size_t>::digits); + std::size_t part = static_cast<std::size_t>(v); +- v -= part; ++ v -= static_cast<T>(part); + hash_float_combine(seed, part); + } + +--- misc/boost_1_44_0/boost/dynamic_bitset.hpp 2011-02-28 17:10:13.892131527 +0000 ++++ misc/build/boost_1_44_0/boost/dynamic_bitset/dynamic_bitset.hpp 2011-02-28 17:11:05.868726195 +0000 +@@ -1108,10 +1108,10 @@ + // beyond the "allowed" positions + typedef unsigned long result_type; + +- const size_type max_size = ++ const size_type max_size_ = + (std::min)(m_num_bits, static_cast<size_type>(ulong_width)); + +- const size_type last_block = block_index( max_size - 1 ); ++ const size_type last_block = block_index( max_size_ - 1 ); + + assert((last_block * bits_per_block) < static_cast<size_type>(ulong_width)); + +--- misc/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-03-04 11:33:36.269274940 +0000 ++++ misc/build/boost_1_44_0/boost/ptr_container/detail/reversible_ptr_container.hpp 2011-03-04 11:33:36.269274940 +0000 +@@ -259,6 +259,10 @@ + + static void enforce_null_policy( const Ty_* x, const char* msg ) + { ++#ifdef BOOST_PTR_CONTAINER_NO_EXCEPTIONS ++ (void)x; ++ (void)msg; ++#endif + if( !allow_null ) + { + BOOST_PTR_CONTAINER_THROW_EXCEPTION( 0 == x && "null not allowed", +--- misc/boost_1_44_0/boost/pool/object_pool.hpp.orig 2011-07-14 16:08:31.672964851 +0100 ++++ misc/build/boost_1_44_0/boost/pool/object_pool.hpp 2011-07-14 16:09:20.851594534 +0100 +@@ -53,8 +53,8 @@ + + public: + // This constructor parameter is an extension! +- explicit object_pool(const size_type next_size = 32) +- :pool<UserAllocator>(sizeof(T), next_size) { } ++ explicit object_pool(const size_type next_size_ = 32) ++ :pool<UserAllocator>(sizeof(T), next_size_) { } + + ~object_pool(); + diff --git a/boost/boost.gcc47679.patch b/boost/boost.gcc47679.patch new file mode 100644 index 000000000000..9b33a5fffb8a --- /dev/null +++ b/boost/boost.gcc47679.patch @@ -0,0 +1,61 @@ +--- misc/boost_1_44_0/boost/utility/compare_pointees.hpp 2011-02-10 16:39:05.960176555 +0000 ++++ misc/build/boost_1_44_0/boost/utility/compare_pointees.hpp 2011-02-10 16:40:59.091423279 +0000 +@@ -29,7 +29,11 @@ + inline + bool equal_pointees ( OptionalPointee const& x, OptionalPointee const& y ) + { +- return (!x) != (!y) ? false : ( !x ? true : (*x) == (*y) ) ; ++ if (!x && !y) ++ return true; ++ if (!x || !y) ++ return false; ++ return (*x) == (*y); + } + + template<class OptionalPointee> +--- misc/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000 ++++ misc/build/boost_1_44_0/boost/spirit/home/classic/core/primitives/impl/numerics.ipp 2011-03-02 12:22:47.222870106 +0000 +@@ -219,6 +219,20 @@ + } + }; + ++ template <int Radix> ++ struct negative_accumulate<unsigned char, Radix> ++ { ++ // Use this accumulator if number is negative ++ static bool add(unsigned char& n, unsigned digit) ++ { ++ n *= Radix; ++ if (n < digit) ++ return false; ++ n -= digit; ++ return true; ++ } ++ }; ++ + template <int MaxDigits> + inline bool allow_more_digits(std::size_t i) + { +--- misc/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100 ++++ misc/build/boost_1_44_0/boost/optional/optional.hpp 2011-04-05 13:19:01.223587256 +0100 +@@ -31,6 +31,8 @@ + + #include "boost/optional/optional_fwd.hpp" + ++#include <string.h> ++ + #if BOOST_WORKAROUND(BOOST_MSVC, == 1200) + // VC6.0 has the following bug: + // When a templated assignment operator exist, an implicit conversion +@@ -114,6 +116,11 @@ + + public: + ++ aligned_storage() ++ { ++ memset(&dummy_, 0, sizeof(dummy_)); ++ } ++ + void const* address() const { return &dummy_.data[0]; } + void * address() { return &dummy_.data[0]; } + } ; diff --git a/boost/boost.windows.patch b/boost/boost.windows.patch new file mode 100644 index 000000000000..befc805d5753 --- /dev/null +++ b/boost/boost.windows.patch @@ -0,0 +1,12 @@ +--- misc/build/boost_1_44_0/boost/pool/detail/mutex.hpp ++++ misc/build/boost_1_44_0/boost/pool/detail/mutex.hpp +@@ -45,7 +45,9 @@ + + #ifndef BOOST_NO_MT + # ifdef BOOST_WINDOWS ++# define NOMINMAX + # include <windows.h> ++# undef NOMINMAX + # endif + # if defined(_POSIX_THREADS) || defined(BOOST_HAS_PTHREADS) + # include <pthread.h> diff --git a/boost/boost_1_44_0.patch b/boost/boost_1_44_0.patch new file mode 100644 index 000000000000..4673919450a8 --- /dev/null +++ b/boost/boost_1_44_0.patch @@ -0,0 +1,25 @@ +--- misc/build/boost_1_44_0/libs/thread/src/win32/makefile.mk ++++ misc/build/boost_1_44_0/libs/thread/src/win32/makefile.mk +@@ -1,1 +1,21 @@ +-dummy ++PRJ=..$/..$/..$/..$/..$/..$/..$/.. ++ ++PRJNAME=boostthread ++TARGET=boostthread ++ENABLE_EXCEPTIONS=TRUE ++LIBTARGET=NO ++ ++.IF "$(GUI)"=="WNT" ++ ++.INCLUDE : settings.mk ++ ++SLOFILES= $(SLO)$/thread.obj \ ++ $(SLO)$/tss_dll.obj \ ++ $(SLO)$/tss_pe.obj ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.INCLUDE : target.mk ++.ENDIF diff --git a/boost/makefile.mk b/boost/makefile.mk new file mode 100644 index 000000000000..b9feb7b9540a --- /dev/null +++ b/boost/makefile.mk @@ -0,0 +1,143 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +# dmake create_clean -- just unpacks +# dmake patch -- unpacks and applies patch file +# dmake create_patch -- creates a patch file + +PRJ=. + +PRJNAME=boost +TARGET=ooo_boost + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# force patched boost for sunpro CC +# to workaround opt bug when compiling with -xO3 +.IF "$(SYSTEM_BOOST)" == "YES" && ("$(OS)"!="SOLARIS" || "$(COM)"=="GCC") +all: + @echo "An already available installation of boost should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ELSE # "$(SYSTEM_BOOST)" == "YES" && ("$(OS)"!="SOLARIS" || "$(COM)"=="GCC") + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=boost_1_44_0 +TARFILE_MD5=f02578f5218f217a9f20e9c30e119c6a +PATCH_FILES=$(TARFILE_NAME).patch +#https://svn.boost.org/trac/boost/ticket/3780 +PATCH_FILES+=aliasing.patch +#https://svn.boost.org/trac/boost/ticket/4713 +PATCH_FILES+=boost.4713.warnings.patch +#https://svn.boost.org/trac/boost/ticket/5119 +PATCH_FILES+=unordered_map-doesnt-support-cp-ctor.patch +#http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679 +PATCH_FILES+=boost.gcc47679.patch + +PATCH_FILES+=boost.windows.patch + +ADDITIONAL_FILES= \ + libs/thread/src/win32/makefile.mk + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + + +# --- post-build --------------------------------------------------- + +# "normalize" the output structure, in that the C++ headers are +# copied to the canonic location in OUTPATH +# The allows, later on, to use the standard mechanisms to deliver those +# files, instead of delivering them out of OUTPATH/misc/build/..., which +# could cause problems + +NORMALIZE_FLAG_FILE=so_normalized_$(TARGET) + +$(PACKAGE_DIR)$/$(NORMALIZE_FLAG_FILE) : $(PACKAGE_DIR)$/$(BUILD_FLAG_FILE) + -@$(MKDIRHIER) $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/*.h $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/*.hpp $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/algorithm $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/assign $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/bind $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/concept $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/config $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/date_time $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/detail $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/dynamic_bitset $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/exception $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/function $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/functional $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/io $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/integer $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/iterator $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/mpl $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/numeric $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/optional $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/pending $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/pool $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/preprocessor $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/ptr_container $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/range $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/spirit $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/smart_ptr $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/thread $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/tuple $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/type_traits $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/unordered $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/utility $(INCCOM)$/$(PRJNAME) + @$(GNUCOPY) -r $(PACKAGE_DIR)$/$(TARFILE_NAME)$/boost$/variant $(INCCOM)$/$(PRJNAME) + @$(TOUCH) $(PACKAGE_DIR)$/$(NORMALIZE_FLAG_FILE) + +normalize: $(PACKAGE_DIR)$/$(NORMALIZE_FLAG_FILE) + +.IF "$(GUI)"!="WNT" + +$(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) : normalize + +.ELSE + +$(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) : boostthreadlib + +boostthreadlib : $(PACKAGE_DIR)$/$(NORMALIZE_FLAG_FILE) + cd $(PACKAGE_DIR)/$(TARFILE_ROOTDIR)/libs/thread/src/win32 && dmake $(MFLAGS) $(CALLMACROS) + +.ENDIF + +.ENDIF # "$(SYSTEM_BOOST)" == "YES" && ("$(OS)"!="SOLARIS" || "$(COM)"=="GCC") diff --git a/boost/prj/build.lst b/boost/prj/build.lst new file mode 100644 index 000000000000..957da005305d --- /dev/null +++ b/boost/prj/build.lst @@ -0,0 +1,3 @@ +bo boost : solenv soltools NULL +bo boost usr1 - all bo_mkout NULL +bo boost nmake - all bo_boost NULL diff --git a/boost/prj/d.lst b/boost/prj/d.lst new file mode 100644 index 000000000000..03a72927d227 --- /dev/null +++ b/boost/prj/d.lst @@ -0,0 +1,1207 @@ +mkdir: %_DEST%\inc\boost +mkdir: %_DEST%\inc\boost\accumulators +mkdir: %_DEST%\inc\boost\accumulators\framework +mkdir: %_DEST%\inc\boost\accumulators\framework\accumulators +mkdir: %_DEST%\inc\boost\accumulators\framework\parameters +mkdir: %_DEST%\inc\boost\accumulators\numeric +mkdir: %_DEST%\inc\boost\accumulators\numeric\detail +mkdir: %_DEST%\inc\boost\accumulators\numeric\functional +mkdir: %_DEST%\inc\boost\accumulators\statistics +mkdir: %_DEST%\inc\boost\accumulators\statistics\parameters +mkdir: %_DEST%\inc\boost\accumulators\statistics\variates +mkdir: %_DEST%\inc\boost\algorithm +mkdir: %_DEST%\inc\boost\algorithm\string +mkdir: %_DEST%\inc\boost\algorithm\string\detail +mkdir: %_DEST%\inc\boost\algorithm\string\std +mkdir: %_DEST%\inc\boost\archive +mkdir: %_DEST%\inc\boost\archive\detail +mkdir: %_DEST%\inc\boost\archive\impl +mkdir: %_DEST%\inc\boost\archive\iterators +mkdir: %_DEST%\inc\boost\asio +mkdir: %_DEST%\inc\boost\asio\detail +mkdir: %_DEST%\inc\boost\asio\detail\impl +mkdir: %_DEST%\inc\boost\asio\impl +mkdir: %_DEST%\inc\boost\asio\ip +mkdir: %_DEST%\inc\boost\asio\ip\detail +mkdir: %_DEST%\inc\boost\asio\ip\detail\impl +mkdir: %_DEST%\inc\boost\asio\ip\impl +mkdir: %_DEST%\inc\boost\asio\local +mkdir: %_DEST%\inc\boost\asio\local\detail +mkdir: %_DEST%\inc\boost\asio\local\detail\impl +mkdir: %_DEST%\inc\boost\asio\posix +mkdir: %_DEST%\inc\boost\asio\ssl +mkdir: %_DEST%\inc\boost\asio\ssl\detail +mkdir: %_DEST%\inc\boost\asio\windows +mkdir: %_DEST%\inc\boost\assign +mkdir: %_DEST%\inc\boost\assign\std +mkdir: %_DEST%\inc\boost\bimap +mkdir: %_DEST%\inc\boost\bimap\container_adaptor +mkdir: %_DEST%\inc\boost\bimap\container_adaptor\detail +mkdir: %_DEST%\inc\boost\bimap\container_adaptor\support +mkdir: %_DEST%\inc\boost\bimap\detail +mkdir: %_DEST%\inc\boost\bimap\detail\debug +mkdir: %_DEST%\inc\boost\bimap\detail\test +mkdir: %_DEST%\inc\boost\bimap\property_map +mkdir: %_DEST%\inc\boost\bimap\relation +mkdir: %_DEST%\inc\boost\bimap\relation\detail +mkdir: %_DEST%\inc\boost\bimap\relation\support +mkdir: %_DEST%\inc\boost\bimap\support +mkdir: %_DEST%\inc\boost\bimap\tags +mkdir: %_DEST%\inc\boost\bimap\tags\support +mkdir: %_DEST%\inc\boost\bimap\views +mkdir: %_DEST%\inc\boost\bind +mkdir: %_DEST%\inc\boost\circular_buffer +mkdir: %_DEST%\inc\boost\compatibility\cpp_c_headers +mkdir: %_DEST%\inc\boost\concept +mkdir: %_DEST%\inc\boost\concept_check +mkdir: %_DEST%\inc\boost\concept\detail +mkdir: %_DEST%\inc\boost\config +mkdir: %_DEST%\inc\boost\config\abi +mkdir: %_DEST%\inc\boost\config\compiler +mkdir: %_DEST%\inc\boost\config\no_tr1 +mkdir: %_DEST%\inc\boost\config\platform +mkdir: %_DEST%\inc\boost\config\stdlib +mkdir: %_DEST%\inc\boost\date_time +mkdir: %_DEST%\inc\boost\date_time\gregorian +mkdir: %_DEST%\inc\boost\date_time\local_time +mkdir: %_DEST%\inc\boost\date_time\posix_time +mkdir: %_DEST%\inc\boost\detail +mkdir: %_DEST%\inc\boost\dynamic_bitset +mkdir: %_DEST%\inc\boost\exception +mkdir: %_DEST%\inc\boost\exception\detail +mkdir: %_DEST%\inc\boost\filesystem +mkdir: %_DEST%\inc\boost\filesystem\detail +mkdir: %_DEST%\inc\boost\filesystem\v2 +mkdir: %_DEST%\inc\boost\filesystem\v3 +mkdir: %_DEST%\inc\boost\flyweight +mkdir: %_DEST%\inc\boost\flyweight\detail +mkdir: %_DEST%\inc\boost\format +mkdir: %_DEST%\inc\boost\format\detail +mkdir: %_DEST%\inc\boost\function +mkdir: %_DEST%\inc\boost\functional +mkdir: %_DEST%\inc\boost\functional\detail +mkdir: %_DEST%\inc\boost\functional\hash +mkdir: %_DEST%\inc\boost\functional\hash\detail +mkdir: %_DEST%\inc\boost\function\detail +mkdir: %_DEST%\inc\boost\function_types +mkdir: %_DEST%\inc\boost\function_types\config +mkdir: %_DEST%\inc\boost\function_types\detail +mkdir: %_DEST%\inc\boost\function_types\detail\classifier_impl +mkdir: %_DEST%\inc\boost\function_types\detail\components_impl +mkdir: %_DEST%\inc\boost\function_types\detail\encoding +mkdir: %_DEST%\inc\boost\function_types\detail\pp_cc_loop +mkdir: %_DEST%\inc\boost\function_types\detail\pp_retag_default_cc +mkdir: %_DEST%\inc\boost\function_types\detail\pp_tags +mkdir: %_DEST%\inc\boost\function_types\detail\pp_variate_loop +mkdir: %_DEST%\inc\boost\function_types\detail\synthesize_impl +mkdir: %_DEST%\inc\boost\fusion +mkdir: %_DEST%\inc\boost\fusion\adapted +mkdir: %_DEST%\inc\boost\fusion\adapted\array +mkdir: %_DEST%\inc\boost\fusion\adapted\boost_array +mkdir: %_DEST%\inc\boost\fusion\adapted\boost_array\detail +mkdir: %_DEST%\inc\boost\fusion\adapted\boost_tuple +mkdir: %_DEST%\inc\boost\fusion\adapted\boost_tuple\detail +mkdir: %_DEST%\inc\boost\fusion\adapted\class +mkdir: %_DEST%\inc\boost\fusion\adapted\class\detail +mkdir: %_DEST%\inc\boost\fusion\adapted\mpl +mkdir: %_DEST%\inc\boost\fusion\adapted\mpl\detail +mkdir: %_DEST%\inc\boost\fusion\adapted\struct +mkdir: %_DEST%\inc\boost\fusion\adapted\struct\detail +mkdir: %_DEST%\inc\boost\fusion\algorithm +mkdir: %_DEST%\inc\boost\fusion\algorithm\iteration +mkdir: %_DEST%\inc\boost\fusion\algorithm\iteration\detail +mkdir: %_DEST%\inc\boost\fusion\algorithm\iteration\ext_ +mkdir: %_DEST%\inc\boost\fusion\algorithm\query +mkdir: %_DEST%\inc\boost\fusion\algorithm\query\detail +mkdir: %_DEST%\inc\boost\fusion\algorithm\query\ext_ +mkdir: %_DEST%\inc\boost\fusion\algorithm\transformation +mkdir: %_DEST%\inc\boost\fusion\algorithm\transformation\detail +mkdir: %_DEST%\inc\boost\fusion\container +mkdir: %_DEST%\inc\boost\fusion\container\deque +mkdir: %_DEST%\inc\boost\fusion\container\deque\detail +mkdir: %_DEST%\inc\boost\fusion\container\ext_ +mkdir: %_DEST%\inc\boost\fusion\container\generation +mkdir: %_DEST%\inc\boost\fusion\container\list +mkdir: %_DEST%\inc\boost\fusion\container\list\detail +mkdir: %_DEST%\inc\boost\fusion\container\map +mkdir: %_DEST%\inc\boost\fusion\container\map\detail +mkdir: %_DEST%\inc\boost\fusion\container\set +mkdir: %_DEST%\inc\boost\fusion\container\set\detail +mkdir: %_DEST%\inc\boost\fusion\container\vector +mkdir: %_DEST%\inc\boost\fusion\container\vector\detail +mkdir: %_DEST%\inc\boost\fusion\functional +mkdir: %_DEST%\inc\boost\fusion\functional\adapter +mkdir: %_DEST%\inc\boost\fusion\functional\adapter\detail +mkdir: %_DEST%\inc\boost\fusion\functional\generation +mkdir: %_DEST%\inc\boost\fusion\functional\generation\detail +mkdir: %_DEST%\inc\boost\fusion\functional\invocation +mkdir: %_DEST%\inc\boost\fusion\functional\invocation\detail +mkdir: %_DEST%\inc\boost\fusion\include +mkdir: %_DEST%\inc\boost\fusion\iterator +mkdir: %_DEST%\inc\boost\fusion\iterator\detail +mkdir: %_DEST%\inc\boost\fusion\iterator\mpl +mkdir: %_DEST%\inc\boost\fusion\mpl +mkdir: %_DEST%\inc\boost\fusion\mpl\detail +mkdir: %_DEST%\inc\boost\fusion\sequence +mkdir: %_DEST%\inc\boost\fusion\sequence\comparison +mkdir: %_DEST%\inc\boost\fusion\sequence\comparison\detail +mkdir: %_DEST%\inc\boost\fusion\sequence\intrinsic +mkdir: %_DEST%\inc\boost\fusion\sequence\intrinsic\ext_ +mkdir: %_DEST%\inc\boost\fusion\sequence\io +mkdir: %_DEST%\inc\boost\fusion\sequence\io\detail +mkdir: %_DEST%\inc\boost\fusion\support +mkdir: %_DEST%\inc\boost\fusion\support\detail +mkdir: %_DEST%\inc\boost\fusion\support\ext_ +mkdir: %_DEST%\inc\boost\fusion\tuple +mkdir: %_DEST%\inc\boost\fusion\tuple\detail +mkdir: %_DEST%\inc\boost\fusion\view +mkdir: %_DEST%\inc\boost\fusion\view\detail +mkdir: %_DEST%\inc\boost\fusion\view\ext_ +mkdir: %_DEST%\inc\boost\fusion\view\filter_view +mkdir: %_DEST%\inc\boost\fusion\view\filter_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\iterator_range +mkdir: %_DEST%\inc\boost\fusion\view\iterator_range\detail +mkdir: %_DEST%\inc\boost\fusion\view\joint_view +mkdir: %_DEST%\inc\boost\fusion\view\joint_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\nview +mkdir: %_DEST%\inc\boost\fusion\view\nview\detail +mkdir: %_DEST%\inc\boost\fusion\view\repetitive_view +mkdir: %_DEST%\inc\boost\fusion\view\repetitive_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\reverse_view +mkdir: %_DEST%\inc\boost\fusion\view\reverse_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\single_view +mkdir: %_DEST%\inc\boost\fusion\view\single_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\transform_view +mkdir: %_DEST%\inc\boost\fusion\view\transform_view\detail +mkdir: %_DEST%\inc\boost\fusion\view\zip_view +mkdir: %_DEST%\inc\boost\fusion\view\zip_view\detail +mkdir: %_DEST%\inc\boost\gil +mkdir: %_DEST%\inc\boost\gil\extension\dynamic_image +mkdir: %_DEST%\inc\boost\gil\extension\io +mkdir: %_DEST%\inc\boost\graph +mkdir: %_DEST%\inc\boost\graph\detail +mkdir: %_DEST%\inc\boost\graph\distributed +mkdir: %_DEST%\inc\boost\graph\distributed\adjlist +mkdir: %_DEST%\inc\boost\graph\distributed\detail +mkdir: %_DEST%\inc\boost\graph\parallel +mkdir: %_DEST%\inc\boost\graph\parallel\detail +mkdir: %_DEST%\inc\boost\graph\planar_detail +mkdir: %_DEST%\inc\boost\graph\property_maps +mkdir: %_DEST%\inc\boost\integer +mkdir: %_DEST%\inc\boost\interprocess +mkdir: %_DEST%\inc\boost\interprocess\allocators +mkdir: %_DEST%\inc\boost\interprocess\allocators\detail +mkdir: %_DEST%\inc\boost\interprocess\containers +mkdir: %_DEST%\inc\boost\interprocess\containers\container +mkdir: %_DEST%\inc\boost\interprocess\containers\container\detail +mkdir: %_DEST%\inc\boost\interprocess\detail +mkdir: %_DEST%\inc\boost\interprocess\indexes +mkdir: %_DEST%\inc\boost\interprocess\ipc +mkdir: %_DEST%\inc\boost\interprocess\mem_algo +mkdir: %_DEST%\inc\boost\interprocess\mem_algo\detail +mkdir: %_DEST%\inc\boost\interprocess\smart_ptr +mkdir: %_DEST%\inc\boost\interprocess\smart_ptr\detail +mkdir: %_DEST%\inc\boost\interprocess\streams +mkdir: %_DEST%\inc\boost\interprocess\sync +mkdir: %_DEST%\inc\boost\interprocess\sync\emulation +mkdir: %_DEST%\inc\boost\interprocess\sync\posix +mkdir: %_DEST%\inc\boost\interprocess\sync\xsi +mkdir: %_DEST%\inc\boost\intrusive +mkdir: %_DEST%\inc\boost\intrusive\detail +mkdir: %_DEST%\inc\boost\io +mkdir: %_DEST%\inc\boost\io\detail +mkdir: %_DEST%\inc\boost\iostreams +mkdir: %_DEST%\inc\boost\iostreams\detail +mkdir: %_DEST%\inc\boost\iostreams\detail\adapter +mkdir: %_DEST%\inc\boost\iostreams\detail\broken_overload_resolution +mkdir: %_DEST%\inc\boost\iostreams\detail\config +mkdir: %_DEST%\inc\boost\iostreams\detail\streambuf +mkdir: %_DEST%\inc\boost\iostreams\detail\vc6 +mkdir: %_DEST%\inc\boost\iostreams\device +mkdir: %_DEST%\inc\boost\iostreams\filter +mkdir: %_DEST%\inc\boost\iterator +mkdir: %_DEST%\inc\boost\iterator\detail +mkdir: %_DEST%\inc\boost\lambda +mkdir: %_DEST%\inc\boost\lambda\detail +mkdir: %_DEST%\inc\boost\logic +mkdir: %_DEST%\inc\boost\math +mkdir: %_DEST%\inc\boost\math\bindings +mkdir: %_DEST%\inc\boost\math\bindings\detail +mkdir: %_DEST%\inc\boost\math\complex +mkdir: %_DEST%\inc\boost\math\concepts +mkdir: %_DEST%\inc\boost\math\constants +mkdir: %_DEST%\inc\boost\math\distributions +mkdir: %_DEST%\inc\boost\math\distributions\detail +mkdir: %_DEST%\inc\boost\math\policies +mkdir: %_DEST%\inc\boost\math\special_functions +mkdir: %_DEST%\inc\boost\math\special_functions\detail +mkdir: %_DEST%\inc\boost\math\tools +mkdir: %_DEST%\inc\boost\math\tools\detail +mkdir: %_DEST%\inc\boost\mpi +mkdir: %_DEST%\inc\boost\mpi\collectives +mkdir: %_DEST%\inc\boost\mpi\detail +mkdir: %_DEST%\inc\boost\mpi\python +mkdir: %_DEST%\inc\boost\mpl +mkdir: %_DEST%\inc\boost\mpl\aux_ +mkdir: %_DEST%\inc\boost\mpl\aux_\config +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc551 +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc_pre590 +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\dmc +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\gcc +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\msvc60 +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\msvc70 +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\mwcw +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\no_ctps +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\no_ttp +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessed\plain +mkdir: %_DEST%\inc\boost\mpl\aux_\preprocessor +mkdir: %_DEST%\inc\boost\mpl\aux_\range_c +mkdir: %_DEST%\inc\boost\mpl\aux_\test +mkdir: %_DEST%\inc\boost\mpl\limits +mkdir: %_DEST%\inc\boost\mpl\list +mkdir: %_DEST%\inc\boost\mpl\list\aux_ +mkdir: %_DEST%\inc\boost\mpl\list\aux_\preprocessed\plain +mkdir: %_DEST%\inc\boost\mpl\map +mkdir: %_DEST%\inc\boost\mpl\map\aux_ +mkdir: %_DEST%\inc\boost\mpl\map\aux_\preprocessed\no_ctps +mkdir: %_DEST%\inc\boost\mpl\map\aux_\preprocessed\plain +mkdir: %_DEST%\inc\boost\mpl\map\aux_\preprocessed\typeof_based +mkdir: %_DEST%\inc\boost\mpl\math +mkdir: %_DEST%\inc\boost\mpl\multiset +mkdir: %_DEST%\inc\boost\mpl\multiset\aux_ +mkdir: %_DEST%\inc\boost\mpl\set +mkdir: %_DEST%\inc\boost\mpl\set\aux_ +mkdir: %_DEST%\inc\boost\mpl\set\aux_\preprocessed\plain +mkdir: %_DEST%\inc\boost\mpl\vector +mkdir: %_DEST%\inc\boost\mpl\vector\aux_ +mkdir: %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\no_ctps +mkdir: %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\plain +mkdir: %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\typeof_based +mkdir: %_DEST%\inc\boost\msm +mkdir: %_DEST%\inc\boost\msm\back +mkdir: %_DEST%\inc\boost\msm\front +mkdir: %_DEST%\inc\boost\msm\front\detail +mkdir: %_DEST%\inc\boost\msm\front\euml +mkdir: %_DEST%\inc\boost\multi_array +mkdir: %_DEST%\inc\boost\multi_index +mkdir: %_DEST%\inc\boost\multi_index\detail +mkdir: %_DEST%\inc\boost\numeric +mkdir: %_DEST%\inc\boost\numeric\conversion +mkdir: %_DEST%\inc\boost\numeric\conversion\detail +mkdir: %_DEST%\inc\boost\numeric\interval +mkdir: %_DEST%\inc\boost\numeric\interval\compare +mkdir: %_DEST%\inc\boost\numeric\interval\detail +mkdir: %_DEST%\inc\boost\numeric\interval\ext +mkdir: %_DEST%\inc\boost\numeric\ublas +mkdir: %_DEST%\inc\boost\numeric\ublas\detail +mkdir: %_DEST%\inc\boost\numeric\ublas\experimental +mkdir: %_DEST%\inc\boost\numeric\ublas\operation +mkdir: %_DEST%\inc\boost\numeric\ublas\traits +mkdir: %_DEST%\inc\boost\optional +mkdir: %_DEST%\inc\boost\parameter +mkdir: %_DEST%\inc\boost\parameter\aux_ +mkdir: %_DEST%\inc\boost\parameter\aux_\preprocessor +mkdir: %_DEST%\inc\boost\parameter\aux_\python +mkdir: %_DEST%\inc\boost\pending +mkdir: %_DEST%\inc\boost\pending\detail +mkdir: %_DEST%\inc\boost\polygon +mkdir: %_DEST%\inc\boost\polygon\detail +mkdir: %_DEST%\inc\boost\pool +mkdir: %_DEST%\inc\boost\pool\detail +mkdir: %_DEST%\inc\boost\preprocessor +mkdir: %_DEST%\inc\boost\preprocessor\arithmetic +mkdir: %_DEST%\inc\boost\preprocessor\arithmetic\detail +mkdir: %_DEST%\inc\boost\preprocessor\array +mkdir: %_DEST%\inc\boost\preprocessor\comparison +mkdir: %_DEST%\inc\boost\preprocessor\config +mkdir: %_DEST%\inc\boost\preprocessor\control +mkdir: %_DEST%\inc\boost\preprocessor\control\detail +mkdir: %_DEST%\inc\boost\preprocessor\control\detail\dmc +mkdir: %_DEST%\inc\boost\preprocessor\control\detail\edg +mkdir: %_DEST%\inc\boost\preprocessor\control\detail\msvc +mkdir: %_DEST%\inc\boost\preprocessor\debug +mkdir: %_DEST%\inc\boost\preprocessor\detail +mkdir: %_DEST%\inc\boost\preprocessor\detail\dmc +mkdir: %_DEST%\inc\boost\preprocessor\facilities +mkdir: %_DEST%\inc\boost\preprocessor\iteration +mkdir: %_DEST%\inc\boost\preprocessor\iteration\detail +mkdir: %_DEST%\inc\boost\preprocessor\iteration\detail\bounds +mkdir: %_DEST%\inc\boost\preprocessor\iteration\detail\iter +mkdir: %_DEST%\inc\boost\preprocessor\list +mkdir: %_DEST%\inc\boost\preprocessor\list\detail +mkdir: %_DEST%\inc\boost\preprocessor\list\detail\dmc +mkdir: %_DEST%\inc\boost\preprocessor\list\detail\edg +mkdir: %_DEST%\inc\boost\preprocessor\logical +mkdir: %_DEST%\inc\boost\preprocessor\punctuation +mkdir: %_DEST%\inc\boost\preprocessor\repetition +mkdir: %_DEST%\inc\boost\preprocessor\repetition\detail +mkdir: %_DEST%\inc\boost\preprocessor\repetition\detail\dmc +mkdir: %_DEST%\inc\boost\preprocessor\repetition\detail\edg +mkdir: %_DEST%\inc\boost\preprocessor\repetition\detail\msvc +mkdir: %_DEST%\inc\boost\preprocessor\selection +mkdir: %_DEST%\inc\boost\preprocessor\seq +mkdir: %_DEST%\inc\boost\preprocessor\seq\detail +mkdir: %_DEST%\inc\boost\preprocessor\slot +mkdir: %_DEST%\inc\boost\preprocessor\slot\detail +mkdir: %_DEST%\inc\boost\preprocessor\tuple +mkdir: %_DEST%\inc\boost\program_options +mkdir: %_DEST%\inc\boost\program_options\detail +mkdir: %_DEST%\inc\boost\property_map +mkdir: %_DEST%\inc\boost\property_map\parallel +mkdir: %_DEST%\inc\boost\property_map\parallel\impl +mkdir: %_DEST%\inc\boost\property_tree +mkdir: %_DEST%\inc\boost\property_tree\detail +mkdir: %_DEST%\inc\boost\proto +mkdir: %_DEST%\inc\boost\proto\context +mkdir: %_DEST%\inc\boost\proto\detail +mkdir: %_DEST%\inc\boost\proto\transform +mkdir: %_DEST%\inc\boost\ptr_container +mkdir: %_DEST%\inc\boost\ptr_container\detail +mkdir: %_DEST%\inc\boost\python +mkdir: %_DEST%\inc\boost\python\converter +mkdir: %_DEST%\inc\boost\python\detail +mkdir: %_DEST%\inc\boost\python\object +mkdir: %_DEST%\inc\boost\python\suite\indexing +mkdir: %_DEST%\inc\boost\python\suite\indexing\detail +mkdir: %_DEST%\inc\boost\random +mkdir: %_DEST%\inc\boost\random\detail +mkdir: %_DEST%\inc\boost\range +mkdir: %_DEST%\inc\boost\range\adaptor +mkdir: %_DEST%\inc\boost\range\algorithm +mkdir: %_DEST%\inc\boost\range\algorithm_ext +mkdir: %_DEST%\inc\boost\range\detail +mkdir: %_DEST%\inc\boost\range\detail\vc6 +mkdir: %_DEST%\inc\boost\regex +mkdir: %_DEST%\inc\boost\regex\config +mkdir: %_DEST%\inc\boost\regex\pending +mkdir: %_DEST%\inc\boost\regex\v4 +mkdir: %_DEST%\inc\boost\serialization +mkdir: %_DEST%\inc\boost\serialization\detail +mkdir: %_DEST%\inc\boost\signals +mkdir: %_DEST%\inc\boost\signals2 +mkdir: %_DEST%\inc\boost\signals2\detail +mkdir: %_DEST%\inc\boost\signals\detail +mkdir: %_DEST%\inc\boost\smart_ptr +mkdir: %_DEST%\inc\boost\smart_ptr\detail +mkdir: %_DEST%\inc\boost\spirit +mkdir: %_DEST%\inc\boost\spirit\actor +mkdir: %_DEST%\inc\boost\spirit\attribute +mkdir: %_DEST%\inc\boost\spirit\core +mkdir: %_DEST%\inc\boost\spirit\core\composite +mkdir: %_DEST%\inc\boost\spirit\core\non_terminal +mkdir: %_DEST%\inc\boost\spirit\core\primitives +mkdir: %_DEST%\inc\boost\spirit\core\scanner +mkdir: %_DEST%\inc\boost\spirit\debug +mkdir: %_DEST%\inc\boost\spirit\dynamic +mkdir: %_DEST%\inc\boost\spirit\error_handling +mkdir: %_DEST%\inc\boost\spirit\home +mkdir: %_DEST%\inc\boost\spirit\home\classic +mkdir: %_DEST%\inc\boost\spirit\home\classic\actor +mkdir: %_DEST%\inc\boost\spirit\home\classic\attribute +mkdir: %_DEST%\inc\boost\spirit\home\classic\core +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\composite +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\composite\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\non_terminal +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\non_terminal\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\primitives +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\primitives\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\scanner +mkdir: %_DEST%\inc\boost\spirit\home\classic\core\scanner\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\debug +mkdir: %_DEST%\inc\boost\spirit\home\classic\debug\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\dynamic +mkdir: %_DEST%\inc\boost\spirit\home\classic\dynamic\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\error_handling +mkdir: %_DEST%\inc\boost\spirit\home\classic\error_handling\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\iterator +mkdir: %_DEST%\inc\boost\spirit\home\classic\iterator\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\meta +mkdir: %_DEST%\inc\boost\spirit\home\classic\meta\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\phoenix +mkdir: %_DEST%\inc\boost\spirit\home\classic\symbols +mkdir: %_DEST%\inc\boost\spirit\home\classic\symbols\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\tree +mkdir: %_DEST%\inc\boost\spirit\home\classic\tree\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\utility +mkdir: %_DEST%\inc\boost\spirit\home\classic\utility\impl +mkdir: %_DEST%\inc\boost\spirit\home\classic\utility\impl\chset +mkdir: %_DEST%\inc\boost\spirit\home\karma +mkdir: %_DEST%\inc\boost\spirit\home\karma\action +mkdir: %_DEST%\inc\boost\spirit\home\karma\auto +mkdir: %_DEST%\inc\boost\spirit\home\karma\auxiliary +mkdir: %_DEST%\inc\boost\spirit\home\karma\binary +mkdir: %_DEST%\inc\boost\spirit\home\karma\char +mkdir: %_DEST%\inc\boost\spirit\home\karma\detail +mkdir: %_DEST%\inc\boost\spirit\home\karma\directive +mkdir: %_DEST%\inc\boost\spirit\home\karma\nonterminal +mkdir: %_DEST%\inc\boost\spirit\home\karma\nonterminal\detail +mkdir: %_DEST%\inc\boost\spirit\home\karma\numeric +mkdir: %_DEST%\inc\boost\spirit\home\karma\numeric\detail +mkdir: %_DEST%\inc\boost\spirit\home\karma\operator +mkdir: %_DEST%\inc\boost\spirit\home\karma\stream +mkdir: %_DEST%\inc\boost\spirit\home\karma\stream\detail +mkdir: %_DEST%\inc\boost\spirit\home\karma\string +mkdir: %_DEST%\inc\boost\spirit\home\lex +mkdir: %_DEST%\inc\boost\spirit\home\lex\detail +mkdir: %_DEST%\inc\boost\spirit\home\lex\lexer +mkdir: %_DEST%\inc\boost\spirit\home\lex\lexer\lexertl +mkdir: %_DEST%\inc\boost\spirit\home\lex\qi +mkdir: %_DEST%\inc\boost\spirit\home\phoenix +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\bind +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\bind\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\core +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\core\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\function +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\function\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\fusion +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\object +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\object\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\operator +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\operator\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\scope +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\scope\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\statement +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\statement\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\stl +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\stl\algorithm +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\stl\algorithm\detail +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\stl\container +mkdir: %_DEST%\inc\boost\spirit\home\phoenix\stl\container\detail +mkdir: %_DEST%\inc\boost\spirit\home\qi +mkdir: %_DEST%\inc\boost\spirit\home\qi\action +mkdir: %_DEST%\inc\boost\spirit\home\qi\auto +mkdir: %_DEST%\inc\boost\spirit\home\qi\auxiliary +mkdir: %_DEST%\inc\boost\spirit\home\qi\binary +mkdir: %_DEST%\inc\boost\spirit\home\qi\char +mkdir: %_DEST%\inc\boost\spirit\home\qi\detail +mkdir: %_DEST%\inc\boost\spirit\home\qi\directive +mkdir: %_DEST%\inc\boost\spirit\home\qi\nonterminal +mkdir: %_DEST%\inc\boost\spirit\home\qi\nonterminal\detail +mkdir: %_DEST%\inc\boost\spirit\home\qi\numeric +mkdir: %_DEST%\inc\boost\spirit\home\qi\numeric\detail +mkdir: %_DEST%\inc\boost\spirit\home\qi\operator +mkdir: %_DEST%\inc\boost\spirit\home\qi\stream +mkdir: %_DEST%\inc\boost\spirit\home\qi\stream\detail +mkdir: %_DEST%\inc\boost\spirit\home\qi\string +mkdir: %_DEST%\inc\boost\spirit\home\qi\string\detail +mkdir: %_DEST%\inc\boost\spirit\home\support +mkdir: %_DEST%\inc\boost\spirit\home\support\algorithm +mkdir: %_DEST%\inc\boost\spirit\home\support\auto +mkdir: %_DEST%\inc\boost\spirit\home\support\auxiliary +mkdir: %_DEST%\inc\boost\spirit\home\support\char_encoding +mkdir: %_DEST%\inc\boost\spirit\home\support\char_encoding\unicode +mkdir: %_DEST%\inc\boost\spirit\home\support\char_set +mkdir: %_DEST%\inc\boost\spirit\home\support\detail +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\integer +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\containers +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\conversion +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser\tokeniser +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser\tree +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\lexer\partition +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\math +mkdir: %_DEST%\inc\boost\spirit\home\support\detail\math\detail +mkdir: %_DEST%\inc\boost\spirit\home\support\iterators +mkdir: %_DEST%\inc\boost\spirit\home\support\iterators\detail +mkdir: %_DEST%\inc\boost\spirit\home\support\nonterminal +mkdir: %_DEST%\inc\boost\spirit\include +mkdir: %_DEST%\inc\boost\spirit\iterator +mkdir: %_DEST%\inc\boost\spirit\meta +mkdir: %_DEST%\inc\boost\spirit\phoenix +mkdir: %_DEST%\inc\boost\spirit\repository\home +mkdir: %_DEST%\inc\boost\spirit\repository\home\karma +mkdir: %_DEST%\inc\boost\spirit\repository\home\karma\directive +mkdir: %_DEST%\inc\boost\spirit\repository\home\karma\nonterminal +mkdir: %_DEST%\inc\boost\spirit\repository\home\qi +mkdir: %_DEST%\inc\boost\spirit\repository\home\qi\directive +mkdir: %_DEST%\inc\boost\spirit\repository\home\qi\nonterminal +mkdir: %_DEST%\inc\boost\spirit\repository\home\qi\primitive +mkdir: %_DEST%\inc\boost\spirit\repository\home\support +mkdir: %_DEST%\inc\boost\spirit\repository\include +mkdir: %_DEST%\inc\boost\spirit\symbols +mkdir: %_DEST%\inc\boost\spirit\tree +mkdir: %_DEST%\inc\boost\spirit\utility +mkdir: %_DEST%\inc\boost\statechart +mkdir: %_DEST%\inc\boost\statechart\detail +mkdir: %_DEST%\inc\boost\system +mkdir: %_DEST%\inc\boost\test +mkdir: %_DEST%\inc\boost\test\detail +mkdir: %_DEST%\inc\boost\test\impl +mkdir: %_DEST%\inc\boost\test\included +mkdir: %_DEST%\inc\boost\test\output +mkdir: %_DEST%\inc\boost\test\utils +mkdir: %_DEST%\inc\boost\test\utils\basic_cstring +mkdir: %_DEST%\inc\boost\test\utils\iterator +mkdir: %_DEST%\inc\boost\test\utils\runtime +mkdir: %_DEST%\inc\boost\test\utils\runtime\cla +mkdir: %_DEST%\inc\boost\test\utils\runtime\cla\detail +mkdir: %_DEST%\inc\boost\test\utils\runtime\cla\iface +mkdir: %_DEST%\inc\boost\test\utils\runtime\env +mkdir: %_DEST%\inc\boost\test\utils\runtime\file +mkdir: %_DEST%\inc\boost\thread +mkdir: %_DEST%\inc\boost\thread\detail +mkdir: %_DEST%\inc\boost\thread\pthread +mkdir: %_DEST%\inc\boost\thread\win32 +mkdir: %_DEST%\inc\boost\tr1 +mkdir: %_DEST%\inc\boost\tr1\detail +mkdir: %_DEST%\inc\boost\tr1\tr1 +mkdir: %_DEST%\inc\boost\tr1\tr1\bcc32 +mkdir: %_DEST%\inc\boost\tr1\tr1\sun +mkdir: %_DEST%\inc\boost\tuple +mkdir: %_DEST%\inc\boost\tuple\detail +mkdir: %_DEST%\inc\boost\typeof +mkdir: %_DEST%\inc\boost\typeof\dmc +mkdir: %_DEST%\inc\boost\typeof\msvc +mkdir: %_DEST%\inc\boost\typeof\std +mkdir: %_DEST%\inc\boost\type_traits +mkdir: %_DEST%\inc\boost\type_traits\detail +mkdir: %_DEST%\inc\boost\type_traits\msvc +mkdir: %_DEST%\inc\boost\units +mkdir: %_DEST%\inc\boost\units\base_units\angle +mkdir: %_DEST%\inc\boost\units\base_units\astronomical +mkdir: %_DEST%\inc\boost\units\base_units\cgs +mkdir: %_DEST%\inc\boost\units\base_units\imperial +mkdir: %_DEST%\inc\boost\units\base_units\metric +mkdir: %_DEST%\inc\boost\units\base_units\si +mkdir: %_DEST%\inc\boost\units\base_units\temperature +mkdir: %_DEST%\inc\boost\units\base_units\us +mkdir: %_DEST%\inc\boost\units\detail +mkdir: %_DEST%\inc\boost\units\physical_dimensions +mkdir: %_DEST%\inc\boost\units\systems +mkdir: %_DEST%\inc\boost\units\systems\angle +mkdir: %_DEST%\inc\boost\units\systems\cgs +mkdir: %_DEST%\inc\boost\units\systems\detail +mkdir: %_DEST%\inc\boost\units\systems\si +mkdir: %_DEST%\inc\boost\units\systems\si\codata +mkdir: %_DEST%\inc\boost\units\systems\temperature +mkdir: %_DEST%\inc\boost\unordered +mkdir: %_DEST%\inc\boost\unordered\detail +mkdir: %_DEST%\inc\boost\utility +mkdir: %_DEST%\inc\boost\utility\detail +mkdir: %_DEST%\inc\boost\uuid +mkdir: %_DEST%\inc\boost\variant +mkdir: %_DEST%\inc\boost\variant\detail +mkdir: %_DEST%\inc\boost\wave +mkdir: %_DEST%\inc\boost\wave\cpplexer +mkdir: %_DEST%\inc\boost\wave\cpplexer\re2clex +mkdir: %_DEST%\inc\boost\wave\grammars +mkdir: %_DEST%\inc\boost\wave\util +mkdir: %_DEST%\inc\boost\xpressive +mkdir: %_DEST%\inc\boost\xpressive\detail +mkdir: %_DEST%\inc\boost\xpressive\detail\core +mkdir: %_DEST%\inc\boost\xpressive\detail\core\matcher +mkdir: %_DEST%\inc\boost\xpressive\detail\dynamic +mkdir: %_DEST%\inc\boost\xpressive\detail\static +mkdir: %_DEST%\inc\boost\xpressive\detail\static\transforms +mkdir: %_DEST%\inc\boost\xpressive\detail\utility +mkdir: %_DEST%\inc\boost\xpressive\detail\utility\chset +mkdir: %_DEST%\inc\boost\xpressive\traits +mkdir: %_DEST%\inc\boost\xpressive\traits\detail + +..\%__SRC%\inc\boost\* %_DEST%\inc\boost +..\%__SRC%\inc\boost\accumulators\* %_DEST%\inc\boost\accumulators +..\%__SRC%\inc\boost\accumulators\framework\accumulators\* %_DEST%\inc\boost\accumulators\framework\accumulators +..\%__SRC%\inc\boost\accumulators\framework\* %_DEST%\inc\boost\accumulators\framework +..\%__SRC%\inc\boost\accumulators\framework\parameters\* %_DEST%\inc\boost\accumulators\framework\parameters +..\%__SRC%\inc\boost\accumulators\numeric\* %_DEST%\inc\boost\accumulators\numeric +..\%__SRC%\inc\boost\accumulators\numeric\detail\* %_DEST%\inc\boost\accumulators\numeric\detail +..\%__SRC%\inc\boost\accumulators\numeric\functional\* %_DEST%\inc\boost\accumulators\numeric\functional +..\%__SRC%\inc\boost\accumulators\statistics\* %_DEST%\inc\boost\accumulators\statistics +..\%__SRC%\inc\boost\accumulators\statistics\parameters\* %_DEST%\inc\boost\accumulators\statistics\parameters +..\%__SRC%\inc\boost\accumulators\statistics\variates\* %_DEST%\inc\boost\accumulators\statistics\variates +..\%__SRC%\inc\boost\algorithm\* %_DEST%\inc\boost\algorithm +..\%__SRC%\inc\boost\algorithm\string\* %_DEST%\inc\boost\algorithm\string +..\%__SRC%\inc\boost\algorithm\string\detail\* %_DEST%\inc\boost\algorithm\string\detail +..\%__SRC%\inc\boost\algorithm\string\std\* %_DEST%\inc\boost\algorithm\string\std +..\%__SRC%\inc\boost\archive\* %_DEST%\inc\boost\archive +..\%__SRC%\inc\boost\archive\detail\* %_DEST%\inc\boost\archive\detail +..\%__SRC%\inc\boost\archive\impl\* %_DEST%\inc\boost\archive\impl +..\%__SRC%\inc\boost\archive\iterators\* %_DEST%\inc\boost\archive\iterators +..\%__SRC%\inc\boost\asio\* %_DEST%\inc\boost\asio +..\%__SRC%\inc\boost\asio\detail\* %_DEST%\inc\boost\asio\detail +..\%__SRC%\inc\boost\asio\detail\impl\* %_DEST%\inc\boost\asio\detail\impl +..\%__SRC%\inc\boost\asio\impl\* %_DEST%\inc\boost\asio\impl +..\%__SRC%\inc\boost\asio\ip\* %_DEST%\inc\boost\asio\ip +..\%__SRC%\inc\boost\asio\ip\detail\* %_DEST%\inc\boost\asio\ip\detail +..\%__SRC%\inc\boost\asio\ip\detail\impl\* %_DEST%\inc\boost\asio\ip\detail\impl +..\%__SRC%\inc\boost\asio\ip\impl\* %_DEST%\inc\boost\asio\ip\impl +..\%__SRC%\inc\boost\asio\local\* %_DEST%\inc\boost\asio\local +..\%__SRC%\inc\boost\asio\local\detail\* %_DEST%\inc\boost\asio\local\detail +..\%__SRC%\inc\boost\asio\local\detail\impl\* %_DEST%\inc\boost\asio\local\detail\impl +..\%__SRC%\inc\boost\asio\posix\* %_DEST%\inc\boost\asio\posix +..\%__SRC%\inc\boost\asio\ssl\* %_DEST%\inc\boost\asio\ssl +..\%__SRC%\inc\boost\asio\ssl\detail\* %_DEST%\inc\boost\asio\ssl\detail +..\%__SRC%\inc\boost\asio\windows\* %_DEST%\inc\boost\asio\windows +..\%__SRC%\inc\boost\assign\* %_DEST%\inc\boost\assign +..\%__SRC%\inc\boost\assign\std\* %_DEST%\inc\boost\assign\std +..\%__SRC%\inc\boost\bimap\container_adaptor\* %_DEST%\inc\boost\bimap\container_adaptor +..\%__SRC%\inc\boost\bimap\container_adaptor\detail\* %_DEST%\inc\boost\bimap\container_adaptor\detail +..\%__SRC%\inc\boost\bimap\container_adaptor\support\* %_DEST%\inc\boost\bimap\container_adaptor\support +..\%__SRC%\inc\boost\bimap\* %_DEST%\inc\boost\bimap +..\%__SRC%\inc\boost\bimap\detail\debug\* %_DEST%\inc\boost\bimap\detail\debug +..\%__SRC%\inc\boost\bimap\detail\* %_DEST%\inc\boost\bimap\detail +..\%__SRC%\inc\boost\bimap\detail\test\* %_DEST%\inc\boost\bimap\detail\test +..\%__SRC%\inc\boost\bimap\property_map\* %_DEST%\inc\boost\bimap\property_map +..\%__SRC%\inc\boost\bimap\relation\* %_DEST%\inc\boost\bimap\relation +..\%__SRC%\inc\boost\bimap\relation\detail\* %_DEST%\inc\boost\bimap\relation\detail +..\%__SRC%\inc\boost\bimap\relation\support\* %_DEST%\inc\boost\bimap\relation\support +..\%__SRC%\inc\boost\bimap\support\* %_DEST%\inc\boost\bimap\support +..\%__SRC%\inc\boost\bimap\tags\* %_DEST%\inc\boost\bimap\tags +..\%__SRC%\inc\boost\bimap\tags\support\* %_DEST%\inc\boost\bimap\tags\support +..\%__SRC%\inc\boost\bimap\views\* %_DEST%\inc\boost\bimap\views +..\%__SRC%\inc\boost\bind\* %_DEST%\inc\boost\bind +..\%__SRC%\inc\boost\circular_buffer\* %_DEST%\inc\boost\circular_buffer +..\%__SRC%\inc\boost\compatibility\cpp_c_headers\* %_DEST%\inc\boost\compatibility\cpp_c_headers +..\%__SRC%\inc\boost\concept_check\* %_DEST%\inc\boost\concept_check +..\%__SRC%\inc\boost\concept\* %_DEST%\inc\boost\concept +..\%__SRC%\inc\boost\concept\detail\* %_DEST%\inc\boost\concept\detail +..\%__SRC%\inc\boost\config\abi\* %_DEST%\inc\boost\config\abi +..\%__SRC%\inc\boost\config\compiler\* %_DEST%\inc\boost\config\compiler +..\%__SRC%\inc\boost\config\* %_DEST%\inc\boost\config +..\%__SRC%\inc\boost\config\no_tr1\* %_DEST%\inc\boost\config\no_tr1 +..\%__SRC%\inc\boost\config\platform\* %_DEST%\inc\boost\config\platform +..\%__SRC%\inc\boost\config\stdlib\* %_DEST%\inc\boost\config\stdlib +..\%__SRC%\inc\boost\date_time\* %_DEST%\inc\boost\date_time +..\%__SRC%\inc\boost\date_time\gregorian\* %_DEST%\inc\boost\date_time\gregorian +..\%__SRC%\inc\boost\date_time\local_time\* %_DEST%\inc\boost\date_time\local_time +..\%__SRC%\inc\boost\date_time\posix_time\* %_DEST%\inc\boost\date_time\posix_time +..\%__SRC%\inc\boost\detail\* %_DEST%\inc\boost\detail +..\%__SRC%\inc\boost\dynamic_bitset\* %_DEST%\inc\boost\dynamic_bitset +..\%__SRC%\inc\boost\exception\* %_DEST%\inc\boost\exception +..\%__SRC%\inc\boost\exception\detail\* %_DEST%\inc\boost\exception\detail +..\%__SRC%\inc\boost\filesystem\* %_DEST%\inc\boost\filesystem +..\%__SRC%\inc\boost\filesystem\detail\* %_DEST%\inc\boost\filesystem\detail +..\%__SRC%\inc\boost\filesystem\v2\* %_DEST%\inc\boost\filesystem\v2 +..\%__SRC%\inc\boost\filesystem\v3\* %_DEST%\inc\boost\filesystem\v3 +..\%__SRC%\inc\boost\flyweight\* %_DEST%\inc\boost\flyweight +..\%__SRC%\inc\boost\flyweight\detail\* %_DEST%\inc\boost\flyweight\detail +..\%__SRC%\inc\boost\format\* %_DEST%\inc\boost\format +..\%__SRC%\inc\boost\format\detail\* %_DEST%\inc\boost\format\detail +..\%__SRC%\inc\boost\functional\* %_DEST%\inc\boost\functional +..\%__SRC%\inc\boost\functional\detail\* %_DEST%\inc\boost\functional\detail +..\%__SRC%\inc\boost\functional\hash\* %_DEST%\inc\boost\functional\hash +..\%__SRC%\inc\boost\functional\hash\detail\* %_DEST%\inc\boost\functional\hash\detail +..\%__SRC%\inc\boost\function\* %_DEST%\inc\boost\function +..\%__SRC%\inc\boost\function\detail\* %_DEST%\inc\boost\function\detail +..\%__SRC%\inc\boost\function_types\config\* %_DEST%\inc\boost\function_types\config +..\%__SRC%\inc\boost\function_types\* %_DEST%\inc\boost\function_types +..\%__SRC%\inc\boost\function_types\detail\classifier_impl\* %_DEST%\inc\boost\function_types\detail\classifier_impl +..\%__SRC%\inc\boost\function_types\detail\components_impl\* %_DEST%\inc\boost\function_types\detail\components_impl +..\%__SRC%\inc\boost\function_types\detail\* %_DEST%\inc\boost\function_types\detail +..\%__SRC%\inc\boost\function_types\detail\encoding\* %_DEST%\inc\boost\function_types\detail\encoding +..\%__SRC%\inc\boost\function_types\detail\pp_cc_loop\* %_DEST%\inc\boost\function_types\detail\pp_cc_loop +..\%__SRC%\inc\boost\function_types\detail\pp_retag_default_cc\* %_DEST%\inc\boost\function_types\detail\pp_retag_default_cc +..\%__SRC%\inc\boost\function_types\detail\pp_tags\* %_DEST%\inc\boost\function_types\detail\pp_tags +..\%__SRC%\inc\boost\function_types\detail\pp_variate_loop\* %_DEST%\inc\boost\function_types\detail\pp_variate_loop +..\%__SRC%\inc\boost\function_types\detail\synthesize_impl\* %_DEST%\inc\boost\function_types\detail\synthesize_impl +..\%__SRC%\inc\boost\fusion\adapted\array\* %_DEST%\inc\boost\fusion\adapted\array +..\%__SRC%\inc\boost\fusion\adapted\boost_array\* %_DEST%\inc\boost\fusion\adapted\boost_array +..\%__SRC%\inc\boost\fusion\adapted\boost_array\detail\* %_DEST%\inc\boost\fusion\adapted\boost_array\detail +..\%__SRC%\inc\boost\fusion\adapted\boost_tuple\* %_DEST%\inc\boost\fusion\adapted\boost_tuple +..\%__SRC%\inc\boost\fusion\adapted\boost_tuple\detail\* %_DEST%\inc\boost\fusion\adapted\boost_tuple\detail +..\%__SRC%\inc\boost\fusion\adapted\class\* %_DEST%\inc\boost\fusion\adapted\class +..\%__SRC%\inc\boost\fusion\adapted\class\detail\* %_DEST%\inc\boost\fusion\adapted\class\detail +..\%__SRC%\inc\boost\fusion\adapted\* %_DEST%\inc\boost\fusion\adapted +..\%__SRC%\inc\boost\fusion\adapted\mpl\* %_DEST%\inc\boost\fusion\adapted\mpl +..\%__SRC%\inc\boost\fusion\adapted\mpl\detail\* %_DEST%\inc\boost\fusion\adapted\mpl\detail +..\%__SRC%\inc\boost\fusion\adapted\struct\* %_DEST%\inc\boost\fusion\adapted\struct +..\%__SRC%\inc\boost\fusion\adapted\struct\detail\* %_DEST%\inc\boost\fusion\adapted\struct\detail +..\%__SRC%\inc\boost\fusion\algorithm\* %_DEST%\inc\boost\fusion\algorithm +..\%__SRC%\inc\boost\fusion\algorithm\iteration\* %_DEST%\inc\boost\fusion\algorithm\iteration +..\%__SRC%\inc\boost\fusion\algorithm\iteration\detail\* %_DEST%\inc\boost\fusion\algorithm\iteration\detail +..\%__SRC%\inc\boost\fusion\algorithm\iteration\ext_\* %_DEST%\inc\boost\fusion\algorithm\iteration\ext_ +..\%__SRC%\inc\boost\fusion\algorithm\query\* %_DEST%\inc\boost\fusion\algorithm\query +..\%__SRC%\inc\boost\fusion\algorithm\query\detail\* %_DEST%\inc\boost\fusion\algorithm\query\detail +..\%__SRC%\inc\boost\fusion\algorithm\query\ext_\* %_DEST%\inc\boost\fusion\algorithm\query\ext_ +..\%__SRC%\inc\boost\fusion\algorithm\transformation\* %_DEST%\inc\boost\fusion\algorithm\transformation +..\%__SRC%\inc\boost\fusion\algorithm\transformation\detail\* %_DEST%\inc\boost\fusion\algorithm\transformation\detail +..\%__SRC%\inc\boost\fusion\container\deque\* %_DEST%\inc\boost\fusion\container\deque +..\%__SRC%\inc\boost\fusion\container\deque\detail\* %_DEST%\inc\boost\fusion\container\deque\detail +..\%__SRC%\inc\boost\fusion\container\* %_DEST%\inc\boost\fusion\container +..\%__SRC%\inc\boost\fusion\container\ext_\* %_DEST%\inc\boost\fusion\container\ext_ +..\%__SRC%\inc\boost\fusion\container\generation\* %_DEST%\inc\boost\fusion\container\generation +..\%__SRC%\inc\boost\fusion\container\list\* %_DEST%\inc\boost\fusion\container\list +..\%__SRC%\inc\boost\fusion\container\list\detail\* %_DEST%\inc\boost\fusion\container\list\detail +..\%__SRC%\inc\boost\fusion\container\map\* %_DEST%\inc\boost\fusion\container\map +..\%__SRC%\inc\boost\fusion\container\map\detail\* %_DEST%\inc\boost\fusion\container\map\detail +..\%__SRC%\inc\boost\fusion\container\set\* %_DEST%\inc\boost\fusion\container\set +..\%__SRC%\inc\boost\fusion\container\set\detail\* %_DEST%\inc\boost\fusion\container\set\detail +..\%__SRC%\inc\boost\fusion\container\vector\* %_DEST%\inc\boost\fusion\container\vector +..\%__SRC%\inc\boost\fusion\container\vector\detail\* %_DEST%\inc\boost\fusion\container\vector\detail +..\%__SRC%\inc\boost\fusion\* %_DEST%\inc\boost\fusion +..\%__SRC%\inc\boost\fusion\functional\adapter\* %_DEST%\inc\boost\fusion\functional\adapter +..\%__SRC%\inc\boost\fusion\functional\adapter\detail\* %_DEST%\inc\boost\fusion\functional\adapter\detail +..\%__SRC%\inc\boost\fusion\functional\* %_DEST%\inc\boost\fusion\functional +..\%__SRC%\inc\boost\fusion\functional\generation\* %_DEST%\inc\boost\fusion\functional\generation +..\%__SRC%\inc\boost\fusion\functional\generation\detail\* %_DEST%\inc\boost\fusion\functional\generation\detail +..\%__SRC%\inc\boost\fusion\functional\invocation\* %_DEST%\inc\boost\fusion\functional\invocation +..\%__SRC%\inc\boost\fusion\functional\invocation\detail\* %_DEST%\inc\boost\fusion\functional\invocation\detail +..\%__SRC%\inc\boost\fusion\include\* %_DEST%\inc\boost\fusion\include +..\%__SRC%\inc\boost\fusion\iterator\* %_DEST%\inc\boost\fusion\iterator +..\%__SRC%\inc\boost\fusion\iterator\detail\* %_DEST%\inc\boost\fusion\iterator\detail +..\%__SRC%\inc\boost\fusion\iterator\mpl\* %_DEST%\inc\boost\fusion\iterator\mpl +..\%__SRC%\inc\boost\fusion\mpl\* %_DEST%\inc\boost\fusion\mpl +..\%__SRC%\inc\boost\fusion\mpl\detail\* %_DEST%\inc\boost\fusion\mpl\detail +..\%__SRC%\inc\boost\fusion\sequence\comparison\* %_DEST%\inc\boost\fusion\sequence\comparison +..\%__SRC%\inc\boost\fusion\sequence\comparison\detail\* %_DEST%\inc\boost\fusion\sequence\comparison\detail +..\%__SRC%\inc\boost\fusion\sequence\* %_DEST%\inc\boost\fusion\sequence +..\%__SRC%\inc\boost\fusion\sequence\intrinsic\* %_DEST%\inc\boost\fusion\sequence\intrinsic +..\%__SRC%\inc\boost\fusion\sequence\intrinsic\ext_\* %_DEST%\inc\boost\fusion\sequence\intrinsic\ext_ +..\%__SRC%\inc\boost\fusion\sequence\io\* %_DEST%\inc\boost\fusion\sequence\io +..\%__SRC%\inc\boost\fusion\sequence\io\detail\* %_DEST%\inc\boost\fusion\sequence\io\detail +..\%__SRC%\inc\boost\fusion\support\* %_DEST%\inc\boost\fusion\support +..\%__SRC%\inc\boost\fusion\support\detail\* %_DEST%\inc\boost\fusion\support\detail +..\%__SRC%\inc\boost\fusion\support\ext_\* %_DEST%\inc\boost\fusion\support\ext_ +..\%__SRC%\inc\boost\fusion\tuple\* %_DEST%\inc\boost\fusion\tuple +..\%__SRC%\inc\boost\fusion\tuple\detail\* %_DEST%\inc\boost\fusion\tuple\detail +..\%__SRC%\inc\boost\fusion\view\* %_DEST%\inc\boost\fusion\view +..\%__SRC%\inc\boost\fusion\view\detail\* %_DEST%\inc\boost\fusion\view\detail +..\%__SRC%\inc\boost\fusion\view\ext_\* %_DEST%\inc\boost\fusion\view\ext_ +..\%__SRC%\inc\boost\fusion\view\filter_view\* %_DEST%\inc\boost\fusion\view\filter_view +..\%__SRC%\inc\boost\fusion\view\filter_view\detail\* %_DEST%\inc\boost\fusion\view\filter_view\detail +..\%__SRC%\inc\boost\fusion\view\iterator_range\* %_DEST%\inc\boost\fusion\view\iterator_range +..\%__SRC%\inc\boost\fusion\view\iterator_range\detail\* %_DEST%\inc\boost\fusion\view\iterator_range\detail +..\%__SRC%\inc\boost\fusion\view\joint_view\* %_DEST%\inc\boost\fusion\view\joint_view +..\%__SRC%\inc\boost\fusion\view\joint_view\detail\* %_DEST%\inc\boost\fusion\view\joint_view\detail +..\%__SRC%\inc\boost\fusion\view\nview\* %_DEST%\inc\boost\fusion\view\nview +..\%__SRC%\inc\boost\fusion\view\nview\detail\* %_DEST%\inc\boost\fusion\view\nview\detail +..\%__SRC%\inc\boost\fusion\view\repetitive_view\* %_DEST%\inc\boost\fusion\view\repetitive_view +..\%__SRC%\inc\boost\fusion\view\repetitive_view\detail\* %_DEST%\inc\boost\fusion\view\repetitive_view\detail +..\%__SRC%\inc\boost\fusion\view\reverse_view\* %_DEST%\inc\boost\fusion\view\reverse_view +..\%__SRC%\inc\boost\fusion\view\reverse_view\detail\* %_DEST%\inc\boost\fusion\view\reverse_view\detail +..\%__SRC%\inc\boost\fusion\view\single_view\* %_DEST%\inc\boost\fusion\view\single_view +..\%__SRC%\inc\boost\fusion\view\single_view\detail\* %_DEST%\inc\boost\fusion\view\single_view\detail +..\%__SRC%\inc\boost\fusion\view\transform_view\* %_DEST%\inc\boost\fusion\view\transform_view +..\%__SRC%\inc\boost\fusion\view\transform_view\detail\* %_DEST%\inc\boost\fusion\view\transform_view\detail +..\%__SRC%\inc\boost\fusion\view\zip_view\* %_DEST%\inc\boost\fusion\view\zip_view +..\%__SRC%\inc\boost\fusion\view\zip_view\detail\* %_DEST%\inc\boost\fusion\view\zip_view\detail +..\%__SRC%\inc\boost\gil\* %_DEST%\inc\boost\gil +..\%__SRC%\inc\boost\gil\extension\dynamic_image\* %_DEST%\inc\boost\gil\extension\dynamic_image +..\%__SRC%\inc\boost\gil\extension\io\* %_DEST%\inc\boost\gil\extension\io +..\%__SRC%\inc\boost\graph\* %_DEST%\inc\boost\graph +..\%__SRC%\inc\boost\graph\detail\* %_DEST%\inc\boost\graph\detail +..\%__SRC%\inc\boost\graph\distributed\adjlist\* %_DEST%\inc\boost\graph\distributed\adjlist +..\%__SRC%\inc\boost\graph\distributed\* %_DEST%\inc\boost\graph\distributed +..\%__SRC%\inc\boost\graph\distributed\detail\* %_DEST%\inc\boost\graph\distributed\detail +..\%__SRC%\inc\boost\graph\parallel\* %_DEST%\inc\boost\graph\parallel +..\%__SRC%\inc\boost\graph\parallel\detail\* %_DEST%\inc\boost\graph\parallel\detail +..\%__SRC%\inc\boost\graph\planar_detail\* %_DEST%\inc\boost\graph\planar_detail +..\%__SRC%\inc\boost\graph\property_maps\* %_DEST%\inc\boost\graph\property_maps +..\%__SRC%\inc\boost\integer\* %_DEST%\inc\boost\integer +..\%__SRC%\inc\boost\interprocess\allocators\* %_DEST%\inc\boost\interprocess\allocators +..\%__SRC%\inc\boost\interprocess\allocators\detail\* %_DEST%\inc\boost\interprocess\allocators\detail +..\%__SRC%\inc\boost\interprocess\containers\container\* %_DEST%\inc\boost\interprocess\containers\container +..\%__SRC%\inc\boost\interprocess\containers\container\detail\* %_DEST%\inc\boost\interprocess\containers\container\detail +..\%__SRC%\inc\boost\interprocess\containers\* %_DEST%\inc\boost\interprocess\containers +..\%__SRC%\inc\boost\interprocess\* %_DEST%\inc\boost\interprocess +..\%__SRC%\inc\boost\interprocess\detail\* %_DEST%\inc\boost\interprocess\detail +..\%__SRC%\inc\boost\interprocess\indexes\* %_DEST%\inc\boost\interprocess\indexes +..\%__SRC%\inc\boost\interprocess\ipc\* %_DEST%\inc\boost\interprocess\ipc +..\%__SRC%\inc\boost\interprocess\mem_algo\* %_DEST%\inc\boost\interprocess\mem_algo +..\%__SRC%\inc\boost\interprocess\mem_algo\detail\* %_DEST%\inc\boost\interprocess\mem_algo\detail +..\%__SRC%\inc\boost\interprocess\smart_ptr\* %_DEST%\inc\boost\interprocess\smart_ptr +..\%__SRC%\inc\boost\interprocess\smart_ptr\detail\* %_DEST%\inc\boost\interprocess\smart_ptr\detail +..\%__SRC%\inc\boost\interprocess\streams\* %_DEST%\inc\boost\interprocess\streams +..\%__SRC%\inc\boost\interprocess\sync\* %_DEST%\inc\boost\interprocess\sync +..\%__SRC%\inc\boost\interprocess\sync\emulation\* %_DEST%\inc\boost\interprocess\sync\emulation +..\%__SRC%\inc\boost\interprocess\sync\posix\* %_DEST%\inc\boost\interprocess\sync\posix +..\%__SRC%\inc\boost\interprocess\sync\xsi\* %_DEST%\inc\boost\interprocess\sync\xsi +..\%__SRC%\inc\boost\intrusive\* %_DEST%\inc\boost\intrusive +..\%__SRC%\inc\boost\intrusive\detail\* %_DEST%\inc\boost\intrusive\detail +..\%__SRC%\inc\boost\io\* %_DEST%\inc\boost\io +..\%__SRC%\inc\boost\io\detail\* %_DEST%\inc\boost\io\detail +..\%__SRC%\inc\boost\iostreams\* %_DEST%\inc\boost\iostreams +..\%__SRC%\inc\boost\iostreams\detail\adapter\* %_DEST%\inc\boost\iostreams\detail\adapter +..\%__SRC%\inc\boost\iostreams\detail\broken_overload_resolution\* %_DEST%\inc\boost\iostreams\detail\broken_overload_resolution +..\%__SRC%\inc\boost\iostreams\detail\config\* %_DEST%\inc\boost\iostreams\detail\config +..\%__SRC%\inc\boost\iostreams\detail\* %_DEST%\inc\boost\iostreams\detail +..\%__SRC%\inc\boost\iostreams\detail\streambuf\* %_DEST%\inc\boost\iostreams\detail\streambuf +..\%__SRC%\inc\boost\iostreams\detail\vc6\* %_DEST%\inc\boost\iostreams\detail\vc6 +..\%__SRC%\inc\boost\iostreams\device\* %_DEST%\inc\boost\iostreams\device +..\%__SRC%\inc\boost\iostreams\filter\* %_DEST%\inc\boost\iostreams\filter +..\%__SRC%\inc\boost\iterator\* %_DEST%\inc\boost\iterator +..\%__SRC%\inc\boost\iterator\detail\* %_DEST%\inc\boost\iterator\detail +..\%__SRC%\inc\boost\lambda\* %_DEST%\inc\boost\lambda +..\%__SRC%\inc\boost\lambda\detail\* %_DEST%\inc\boost\lambda\detail +..\%__SRC%\inc\boost\logic\* %_DEST%\inc\boost\logic +..\%__SRC%\inc\boost\math\bindings\* %_DEST%\inc\boost\math\bindings +..\%__SRC%\inc\boost\math\bindings\detail\* %_DEST%\inc\boost\math\bindings\detail +..\%__SRC%\inc\boost\math\complex\* %_DEST%\inc\boost\math\complex +..\%__SRC%\inc\boost\math\concepts\* %_DEST%\inc\boost\math\concepts +..\%__SRC%\inc\boost\math\constants\* %_DEST%\inc\boost\math\constants +..\%__SRC%\inc\boost\math\* %_DEST%\inc\boost\math +..\%__SRC%\inc\boost\math\distributions\* %_DEST%\inc\boost\math\distributions +..\%__SRC%\inc\boost\math\distributions\detail\* %_DEST%\inc\boost\math\distributions\detail +..\%__SRC%\inc\boost\math\policies\* %_DEST%\inc\boost\math\policies +..\%__SRC%\inc\boost\math\special_functions\* %_DEST%\inc\boost\math\special_functions +..\%__SRC%\inc\boost\math\special_functions\detail\* %_DEST%\inc\boost\math\special_functions\detail +..\%__SRC%\inc\boost\math\tools\* %_DEST%\inc\boost\math\tools +..\%__SRC%\inc\boost\math\tools\detail\* %_DEST%\inc\boost\math\tools\detail +..\%__SRC%\inc\boost\mpi\collectives\* %_DEST%\inc\boost\mpi\collectives +..\%__SRC%\inc\boost\mpi\* %_DEST%\inc\boost\mpi +..\%__SRC%\inc\boost\mpi\detail\* %_DEST%\inc\boost\mpi\detail +..\%__SRC%\inc\boost\mpi\python\* %_DEST%\inc\boost\mpi\python +..\%__SRC%\inc\boost\mpl\aux_\config\* %_DEST%\inc\boost\mpl\aux_\config +..\%__SRC%\inc\boost\mpl\aux_\* %_DEST%\inc\boost\mpl\aux_ +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\bcc551\* %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc551 +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\bcc\* %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\bcc_pre590\* %_DEST%\inc\boost\mpl\aux_\preprocessed\bcc_pre590 +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\dmc\* %_DEST%\inc\boost\mpl\aux_\preprocessed\dmc +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\gcc\* %_DEST%\inc\boost\mpl\aux_\preprocessed\gcc +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\msvc60\* %_DEST%\inc\boost\mpl\aux_\preprocessed\msvc60 +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\msvc70\* %_DEST%\inc\boost\mpl\aux_\preprocessed\msvc70 +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\mwcw\* %_DEST%\inc\boost\mpl\aux_\preprocessed\mwcw +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\no_ctps\* %_DEST%\inc\boost\mpl\aux_\preprocessed\no_ctps +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\no_ttp\* %_DEST%\inc\boost\mpl\aux_\preprocessed\no_ttp +..\%__SRC%\inc\boost\mpl\aux_\preprocessed\plain\* %_DEST%\inc\boost\mpl\aux_\preprocessed\plain +..\%__SRC%\inc\boost\mpl\aux_\preprocessor\* %_DEST%\inc\boost\mpl\aux_\preprocessor +..\%__SRC%\inc\boost\mpl\aux_\range_c\* %_DEST%\inc\boost\mpl\aux_\range_c +..\%__SRC%\inc\boost\mpl\aux_\test\* %_DEST%\inc\boost\mpl\aux_\test +..\%__SRC%\inc\boost\mpl\* %_DEST%\inc\boost\mpl +..\%__SRC%\inc\boost\mpl\limits\* %_DEST%\inc\boost\mpl\limits +..\%__SRC%\inc\boost\mpl\list\aux_\* %_DEST%\inc\boost\mpl\list\aux_ +..\%__SRC%\inc\boost\mpl\list\aux_\preprocessed\plain\* %_DEST%\inc\boost\mpl\list\aux_\preprocessed\plain +..\%__SRC%\inc\boost\mpl\list\* %_DEST%\inc\boost\mpl\list +..\%__SRC%\inc\boost\mpl\map\aux_\* %_DEST%\inc\boost\mpl\map\aux_ +..\%__SRC%\inc\boost\mpl\map\aux_\preprocessed\no_ctps\* %_DEST%\inc\boost\mpl\map\aux_\preprocessed\no_ctps +..\%__SRC%\inc\boost\mpl\map\aux_\preprocessed\plain\* %_DEST%\inc\boost\mpl\map\aux_\preprocessed\plain +..\%__SRC%\inc\boost\mpl\map\aux_\preprocessed\typeof_based\* %_DEST%\inc\boost\mpl\map\aux_\preprocessed\typeof_based +..\%__SRC%\inc\boost\mpl\map\* %_DEST%\inc\boost\mpl\map +..\%__SRC%\inc\boost\mpl\math\* %_DEST%\inc\boost\mpl\math +..\%__SRC%\inc\boost\mpl\multiset\aux_\* %_DEST%\inc\boost\mpl\multiset\aux_ +..\%__SRC%\inc\boost\mpl\multiset\* %_DEST%\inc\boost\mpl\multiset +..\%__SRC%\inc\boost\mpl\set\aux_\* %_DEST%\inc\boost\mpl\set\aux_ +..\%__SRC%\inc\boost\mpl\set\aux_\preprocessed\plain\* %_DEST%\inc\boost\mpl\set\aux_\preprocessed\plain +..\%__SRC%\inc\boost\mpl\set\* %_DEST%\inc\boost\mpl\set +..\%__SRC%\inc\boost\mpl\vector\aux_\* %_DEST%\inc\boost\mpl\vector\aux_ +..\%__SRC%\inc\boost\mpl\vector\aux_\preprocessed\no_ctps\* %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\no_ctps +..\%__SRC%\inc\boost\mpl\vector\aux_\preprocessed\plain\* %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\plain +..\%__SRC%\inc\boost\mpl\vector\aux_\preprocessed\typeof_based\* %_DEST%\inc\boost\mpl\vector\aux_\preprocessed\typeof_based +..\%__SRC%\inc\boost\mpl\vector\* %_DEST%\inc\boost\mpl\vector +..\%__SRC%\inc\boost\msm\back\* %_DEST%\inc\boost\msm\back +..\%__SRC%\inc\boost\msm\* %_DEST%\inc\boost\msm +..\%__SRC%\inc\boost\msm\front\* %_DEST%\inc\boost\msm\front +..\%__SRC%\inc\boost\msm\front\detail\* %_DEST%\inc\boost\msm\front\detail +..\%__SRC%\inc\boost\msm\front\euml\* %_DEST%\inc\boost\msm\front\euml +..\%__SRC%\inc\boost\multi_array\* %_DEST%\inc\boost\multi_array +..\%__SRC%\inc\boost\multi_index\* %_DEST%\inc\boost\multi_index +..\%__SRC%\inc\boost\multi_index\detail\* %_DEST%\inc\boost\multi_index\detail +..\%__SRC%\inc\boost\numeric\conversion\* %_DEST%\inc\boost\numeric\conversion +..\%__SRC%\inc\boost\numeric\conversion\detail\* %_DEST%\inc\boost\numeric\conversion\detail +..\%__SRC%\inc\boost\numeric\* %_DEST%\inc\boost\numeric +..\%__SRC%\inc\boost\numeric\interval\compare\* %_DEST%\inc\boost\numeric\interval\compare +..\%__SRC%\inc\boost\numeric\interval\* %_DEST%\inc\boost\numeric\interval +..\%__SRC%\inc\boost\numeric\interval\detail\* %_DEST%\inc\boost\numeric\interval\detail +..\%__SRC%\inc\boost\numeric\interval\ext\* %_DEST%\inc\boost\numeric\interval\ext +..\%__SRC%\inc\boost\numeric\ublas\* %_DEST%\inc\boost\numeric\ublas +..\%__SRC%\inc\boost\numeric\ublas\detail\* %_DEST%\inc\boost\numeric\ublas\detail +..\%__SRC%\inc\boost\numeric\ublas\experimental\* %_DEST%\inc\boost\numeric\ublas\experimental +..\%__SRC%\inc\boost\numeric\ublas\operation\* %_DEST%\inc\boost\numeric\ublas\operation +..\%__SRC%\inc\boost\numeric\ublas\traits\* %_DEST%\inc\boost\numeric\ublas\traits +..\%__SRC%\inc\boost\optional\* %_DEST%\inc\boost\optional +..\%__SRC%\inc\boost\parameter\aux_\* %_DEST%\inc\boost\parameter\aux_ +..\%__SRC%\inc\boost\parameter\aux_\preprocessor\* %_DEST%\inc\boost\parameter\aux_\preprocessor +..\%__SRC%\inc\boost\parameter\aux_\python\* %_DEST%\inc\boost\parameter\aux_\python +..\%__SRC%\inc\boost\parameter\* %_DEST%\inc\boost\parameter +..\%__SRC%\inc\boost\pending\* %_DEST%\inc\boost\pending +..\%__SRC%\inc\boost\pending\detail\* %_DEST%\inc\boost\pending\detail +..\%__SRC%\inc\boost\polygon\* %_DEST%\inc\boost\polygon +..\%__SRC%\inc\boost\polygon\detail\* %_DEST%\inc\boost\polygon\detail +..\%__SRC%\inc\boost\pool\* %_DEST%\inc\boost\pool +..\%__SRC%\inc\boost\pool\detail\* %_DEST%\inc\boost\pool\detail +..\%__SRC%\inc\boost\preprocessor\arithmetic\* %_DEST%\inc\boost\preprocessor\arithmetic +..\%__SRC%\inc\boost\preprocessor\arithmetic\detail\* %_DEST%\inc\boost\preprocessor\arithmetic\detail +..\%__SRC%\inc\boost\preprocessor\array\* %_DEST%\inc\boost\preprocessor\array +..\%__SRC%\inc\boost\preprocessor\comparison\* %_DEST%\inc\boost\preprocessor\comparison +..\%__SRC%\inc\boost\preprocessor\config\* %_DEST%\inc\boost\preprocessor\config +..\%__SRC%\inc\boost\preprocessor\control\* %_DEST%\inc\boost\preprocessor\control +..\%__SRC%\inc\boost\preprocessor\control\detail\* %_DEST%\inc\boost\preprocessor\control\detail +..\%__SRC%\inc\boost\preprocessor\control\detail\dmc\* %_DEST%\inc\boost\preprocessor\control\detail\dmc +..\%__SRC%\inc\boost\preprocessor\control\detail\edg\* %_DEST%\inc\boost\preprocessor\control\detail\edg +..\%__SRC%\inc\boost\preprocessor\control\detail\msvc\* %_DEST%\inc\boost\preprocessor\control\detail\msvc +..\%__SRC%\inc\boost\preprocessor\debug\* %_DEST%\inc\boost\preprocessor\debug +..\%__SRC%\inc\boost\preprocessor\* %_DEST%\inc\boost\preprocessor +..\%__SRC%\inc\boost\preprocessor\detail\* %_DEST%\inc\boost\preprocessor\detail +..\%__SRC%\inc\boost\preprocessor\detail\dmc\* %_DEST%\inc\boost\preprocessor\detail\dmc +..\%__SRC%\inc\boost\preprocessor\facilities\* %_DEST%\inc\boost\preprocessor\facilities +..\%__SRC%\inc\boost\preprocessor\iteration\* %_DEST%\inc\boost\preprocessor\iteration +..\%__SRC%\inc\boost\preprocessor\iteration\detail\bounds\* %_DEST%\inc\boost\preprocessor\iteration\detail\bounds +..\%__SRC%\inc\boost\preprocessor\iteration\detail\* %_DEST%\inc\boost\preprocessor\iteration\detail +..\%__SRC%\inc\boost\preprocessor\iteration\detail\iter\* %_DEST%\inc\boost\preprocessor\iteration\detail\iter +..\%__SRC%\inc\boost\preprocessor\list\* %_DEST%\inc\boost\preprocessor\list +..\%__SRC%\inc\boost\preprocessor\list\detail\* %_DEST%\inc\boost\preprocessor\list\detail +..\%__SRC%\inc\boost\preprocessor\list\detail\dmc\* %_DEST%\inc\boost\preprocessor\list\detail\dmc +..\%__SRC%\inc\boost\preprocessor\list\detail\edg\* %_DEST%\inc\boost\preprocessor\list\detail\edg +..\%__SRC%\inc\boost\preprocessor\logical\* %_DEST%\inc\boost\preprocessor\logical +..\%__SRC%\inc\boost\preprocessor\punctuation\* %_DEST%\inc\boost\preprocessor\punctuation +..\%__SRC%\inc\boost\preprocessor\repetition\* %_DEST%\inc\boost\preprocessor\repetition +..\%__SRC%\inc\boost\preprocessor\repetition\detail\* %_DEST%\inc\boost\preprocessor\repetition\detail +..\%__SRC%\inc\boost\preprocessor\repetition\detail\dmc\* %_DEST%\inc\boost\preprocessor\repetition\detail\dmc +..\%__SRC%\inc\boost\preprocessor\repetition\detail\edg\* %_DEST%\inc\boost\preprocessor\repetition\detail\edg +..\%__SRC%\inc\boost\preprocessor\repetition\detail\msvc\* %_DEST%\inc\boost\preprocessor\repetition\detail\msvc +..\%__SRC%\inc\boost\preprocessor\selection\* %_DEST%\inc\boost\preprocessor\selection +..\%__SRC%\inc\boost\preprocessor\seq\* %_DEST%\inc\boost\preprocessor\seq +..\%__SRC%\inc\boost\preprocessor\seq\detail\* %_DEST%\inc\boost\preprocessor\seq\detail +..\%__SRC%\inc\boost\preprocessor\slot\* %_DEST%\inc\boost\preprocessor\slot +..\%__SRC%\inc\boost\preprocessor\slot\detail\* %_DEST%\inc\boost\preprocessor\slot\detail +..\%__SRC%\inc\boost\preprocessor\tuple\* %_DEST%\inc\boost\preprocessor\tuple +..\%__SRC%\inc\boost\program_options\* %_DEST%\inc\boost\program_options +..\%__SRC%\inc\boost\program_options\detail\* %_DEST%\inc\boost\program_options\detail +..\%__SRC%\inc\boost\property_map\* %_DEST%\inc\boost\property_map +..\%__SRC%\inc\boost\property_map\parallel\* %_DEST%\inc\boost\property_map\parallel +..\%__SRC%\inc\boost\property_map\parallel\impl\* %_DEST%\inc\boost\property_map\parallel\impl +..\%__SRC%\inc\boost\property_tree\* %_DEST%\inc\boost\property_tree +..\%__SRC%\inc\boost\property_tree\detail\* %_DEST%\inc\boost\property_tree\detail +..\%__SRC%\inc\boost\proto\context\* %_DEST%\inc\boost\proto\context +..\%__SRC%\inc\boost\proto\* %_DEST%\inc\boost\proto +..\%__SRC%\inc\boost\proto\detail\* %_DEST%\inc\boost\proto\detail +..\%__SRC%\inc\boost\proto\transform\* %_DEST%\inc\boost\proto\transform +..\%__SRC%\inc\boost\ptr_container\* %_DEST%\inc\boost\ptr_container +..\%__SRC%\inc\boost\ptr_container\detail\* %_DEST%\inc\boost\ptr_container\detail +..\%__SRC%\inc\boost\python\converter\* %_DEST%\inc\boost\python\converter +..\%__SRC%\inc\boost\python\* %_DEST%\inc\boost\python +..\%__SRC%\inc\boost\python\detail\* %_DEST%\inc\boost\python\detail +..\%__SRC%\inc\boost\python\object\* %_DEST%\inc\boost\python\object +..\%__SRC%\inc\boost\python\suite\indexing\* %_DEST%\inc\boost\python\suite\indexing +..\%__SRC%\inc\boost\python\suite\indexing\detail\* %_DEST%\inc\boost\python\suite\indexing\detail +..\%__SRC%\inc\boost\random\* %_DEST%\inc\boost\random +..\%__SRC%\inc\boost\random\detail\* %_DEST%\inc\boost\random\detail +..\%__SRC%\inc\boost\range\adaptor\* %_DEST%\inc\boost\range\adaptor +..\%__SRC%\inc\boost\range\algorithm\* %_DEST%\inc\boost\range\algorithm +..\%__SRC%\inc\boost\range\algorithm_ext\* %_DEST%\inc\boost\range\algorithm_ext +..\%__SRC%\inc\boost\range\* %_DEST%\inc\boost\range +..\%__SRC%\inc\boost\range\detail\* %_DEST%\inc\boost\range\detail +..\%__SRC%\inc\boost\range\detail\vc6\* %_DEST%\inc\boost\range\detail\vc6 +..\%__SRC%\inc\boost\regex\config\* %_DEST%\inc\boost\regex\config +..\%__SRC%\inc\boost\regex\* %_DEST%\inc\boost\regex +..\%__SRC%\inc\boost\regex\pending\* %_DEST%\inc\boost\regex\pending +..\%__SRC%\inc\boost\regex\v4\* %_DEST%\inc\boost\regex\v4 +..\%__SRC%\inc\boost\serialization\* %_DEST%\inc\boost\serialization +..\%__SRC%\inc\boost\serialization\detail\* %_DEST%\inc\boost\serialization\detail +..\%__SRC%\inc\boost\signals2\* %_DEST%\inc\boost\signals2 +..\%__SRC%\inc\boost\signals2\detail\* %_DEST%\inc\boost\signals2\detail +..\%__SRC%\inc\boost\signals\* %_DEST%\inc\boost\signals +..\%__SRC%\inc\boost\signals\detail\* %_DEST%\inc\boost\signals\detail +..\%__SRC%\inc\boost\smart_ptr\* %_DEST%\inc\boost\smart_ptr +..\%__SRC%\inc\boost\smart_ptr\detail\* %_DEST%\inc\boost\smart_ptr\detail +..\%__SRC%\inc\boost\spirit\actor\* %_DEST%\inc\boost\spirit\actor +..\%__SRC%\inc\boost\spirit\attribute\* %_DEST%\inc\boost\spirit\attribute +..\%__SRC%\inc\boost\spirit\core\composite\* %_DEST%\inc\boost\spirit\core\composite +..\%__SRC%\inc\boost\spirit\core\* %_DEST%\inc\boost\spirit\core +..\%__SRC%\inc\boost\spirit\core\non_terminal\* %_DEST%\inc\boost\spirit\core\non_terminal +..\%__SRC%\inc\boost\spirit\core\primitives\* %_DEST%\inc\boost\spirit\core\primitives +..\%__SRC%\inc\boost\spirit\core\scanner\* %_DEST%\inc\boost\spirit\core\scanner +..\%__SRC%\inc\boost\spirit\debug\* %_DEST%\inc\boost\spirit\debug +..\%__SRC%\inc\boost\spirit\* %_DEST%\inc\boost\spirit +..\%__SRC%\inc\boost\spirit\dynamic\* %_DEST%\inc\boost\spirit\dynamic +..\%__SRC%\inc\boost\spirit\error_handling\* %_DEST%\inc\boost\spirit\error_handling +..\%__SRC%\inc\boost\spirit\home\classic\actor\* %_DEST%\inc\boost\spirit\home\classic\actor +..\%__SRC%\inc\boost\spirit\home\classic\attribute\* %_DEST%\inc\boost\spirit\home\classic\attribute +..\%__SRC%\inc\boost\spirit\home\classic\core\composite\* %_DEST%\inc\boost\spirit\home\classic\core\composite +..\%__SRC%\inc\boost\spirit\home\classic\core\composite\impl\* %_DEST%\inc\boost\spirit\home\classic\core\composite\impl +..\%__SRC%\inc\boost\spirit\home\classic\core\* %_DEST%\inc\boost\spirit\home\classic\core +..\%__SRC%\inc\boost\spirit\home\classic\core\impl\* %_DEST%\inc\boost\spirit\home\classic\core\impl +..\%__SRC%\inc\boost\spirit\home\classic\core\non_terminal\* %_DEST%\inc\boost\spirit\home\classic\core\non_terminal +..\%__SRC%\inc\boost\spirit\home\classic\core\non_terminal\impl\* %_DEST%\inc\boost\spirit\home\classic\core\non_terminal\impl +..\%__SRC%\inc\boost\spirit\home\classic\core\primitives\* %_DEST%\inc\boost\spirit\home\classic\core\primitives +..\%__SRC%\inc\boost\spirit\home\classic\core\primitives\impl\* %_DEST%\inc\boost\spirit\home\classic\core\primitives\impl +..\%__SRC%\inc\boost\spirit\home\classic\core\scanner\* %_DEST%\inc\boost\spirit\home\classic\core\scanner +..\%__SRC%\inc\boost\spirit\home\classic\core\scanner\impl\* %_DEST%\inc\boost\spirit\home\classic\core\scanner\impl +..\%__SRC%\inc\boost\spirit\home\classic\debug\* %_DEST%\inc\boost\spirit\home\classic\debug +..\%__SRC%\inc\boost\spirit\home\classic\debug\impl\* %_DEST%\inc\boost\spirit\home\classic\debug\impl +..\%__SRC%\inc\boost\spirit\home\classic\* %_DEST%\inc\boost\spirit\home\classic +..\%__SRC%\inc\boost\spirit\home\classic\dynamic\* %_DEST%\inc\boost\spirit\home\classic\dynamic +..\%__SRC%\inc\boost\spirit\home\classic\dynamic\impl\* %_DEST%\inc\boost\spirit\home\classic\dynamic\impl +..\%__SRC%\inc\boost\spirit\home\classic\error_handling\* %_DEST%\inc\boost\spirit\home\classic\error_handling +..\%__SRC%\inc\boost\spirit\home\classic\error_handling\impl\* %_DEST%\inc\boost\spirit\home\classic\error_handling\impl +..\%__SRC%\inc\boost\spirit\home\classic\iterator\* %_DEST%\inc\boost\spirit\home\classic\iterator +..\%__SRC%\inc\boost\spirit\home\classic\iterator\impl\* %_DEST%\inc\boost\spirit\home\classic\iterator\impl +..\%__SRC%\inc\boost\spirit\home\classic\meta\* %_DEST%\inc\boost\spirit\home\classic\meta +..\%__SRC%\inc\boost\spirit\home\classic\meta\impl\* %_DEST%\inc\boost\spirit\home\classic\meta\impl +..\%__SRC%\inc\boost\spirit\home\classic\phoenix\* %_DEST%\inc\boost\spirit\home\classic\phoenix +..\%__SRC%\inc\boost\spirit\home\classic\symbols\* %_DEST%\inc\boost\spirit\home\classic\symbols +..\%__SRC%\inc\boost\spirit\home\classic\symbols\impl\* %_DEST%\inc\boost\spirit\home\classic\symbols\impl +..\%__SRC%\inc\boost\spirit\home\classic\tree\* %_DEST%\inc\boost\spirit\home\classic\tree +..\%__SRC%\inc\boost\spirit\home\classic\tree\impl\* %_DEST%\inc\boost\spirit\home\classic\tree\impl +..\%__SRC%\inc\boost\spirit\home\classic\utility\* %_DEST%\inc\boost\spirit\home\classic\utility +..\%__SRC%\inc\boost\spirit\home\classic\utility\impl\chset\* %_DEST%\inc\boost\spirit\home\classic\utility\impl\chset +..\%__SRC%\inc\boost\spirit\home\classic\utility\impl\* %_DEST%\inc\boost\spirit\home\classic\utility\impl +..\%__SRC%\inc\boost\spirit\home\* %_DEST%\inc\boost\spirit\home +..\%__SRC%\inc\boost\spirit\home\karma\action\* %_DEST%\inc\boost\spirit\home\karma\action +..\%__SRC%\inc\boost\spirit\home\karma\auto\* %_DEST%\inc\boost\spirit\home\karma\auto +..\%__SRC%\inc\boost\spirit\home\karma\auxiliary\* %_DEST%\inc\boost\spirit\home\karma\auxiliary +..\%__SRC%\inc\boost\spirit\home\karma\binary\* %_DEST%\inc\boost\spirit\home\karma\binary +..\%__SRC%\inc\boost\spirit\home\karma\char\* %_DEST%\inc\boost\spirit\home\karma\char +..\%__SRC%\inc\boost\spirit\home\karma\* %_DEST%\inc\boost\spirit\home\karma +..\%__SRC%\inc\boost\spirit\home\karma\detail\* %_DEST%\inc\boost\spirit\home\karma\detail +..\%__SRC%\inc\boost\spirit\home\karma\directive\* %_DEST%\inc\boost\spirit\home\karma\directive +..\%__SRC%\inc\boost\spirit\home\karma\nonterminal\* %_DEST%\inc\boost\spirit\home\karma\nonterminal +..\%__SRC%\inc\boost\spirit\home\karma\nonterminal\detail\* %_DEST%\inc\boost\spirit\home\karma\nonterminal\detail +..\%__SRC%\inc\boost\spirit\home\karma\numeric\* %_DEST%\inc\boost\spirit\home\karma\numeric +..\%__SRC%\inc\boost\spirit\home\karma\numeric\detail\* %_DEST%\inc\boost\spirit\home\karma\numeric\detail +..\%__SRC%\inc\boost\spirit\home\karma\operator\* %_DEST%\inc\boost\spirit\home\karma\operator +..\%__SRC%\inc\boost\spirit\home\karma\stream\* %_DEST%\inc\boost\spirit\home\karma\stream +..\%__SRC%\inc\boost\spirit\home\karma\stream\detail\* %_DEST%\inc\boost\spirit\home\karma\stream\detail +..\%__SRC%\inc\boost\spirit\home\karma\string\* %_DEST%\inc\boost\spirit\home\karma\string +..\%__SRC%\inc\boost\spirit\home\lex\* %_DEST%\inc\boost\spirit\home\lex +..\%__SRC%\inc\boost\spirit\home\lex\detail\* %_DEST%\inc\boost\spirit\home\lex\detail +..\%__SRC%\inc\boost\spirit\home\lex\lexer\* %_DEST%\inc\boost\spirit\home\lex\lexer +..\%__SRC%\inc\boost\spirit\home\lex\lexer\lexertl\* %_DEST%\inc\boost\spirit\home\lex\lexer\lexertl +..\%__SRC%\inc\boost\spirit\home\lex\qi\* %_DEST%\inc\boost\spirit\home\lex\qi +..\%__SRC%\inc\boost\spirit\home\phoenix\bind\* %_DEST%\inc\boost\spirit\home\phoenix\bind +..\%__SRC%\inc\boost\spirit\home\phoenix\bind\detail\* %_DEST%\inc\boost\spirit\home\phoenix\bind\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\core\* %_DEST%\inc\boost\spirit\home\phoenix\core +..\%__SRC%\inc\boost\spirit\home\phoenix\core\detail\* %_DEST%\inc\boost\spirit\home\phoenix\core\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\* %_DEST%\inc\boost\spirit\home\phoenix +..\%__SRC%\inc\boost\spirit\home\phoenix\detail\* %_DEST%\inc\boost\spirit\home\phoenix\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\function\* %_DEST%\inc\boost\spirit\home\phoenix\function +..\%__SRC%\inc\boost\spirit\home\phoenix\function\detail\* %_DEST%\inc\boost\spirit\home\phoenix\function\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\fusion\* %_DEST%\inc\boost\spirit\home\phoenix\fusion +..\%__SRC%\inc\boost\spirit\home\phoenix\object\* %_DEST%\inc\boost\spirit\home\phoenix\object +..\%__SRC%\inc\boost\spirit\home\phoenix\object\detail\* %_DEST%\inc\boost\spirit\home\phoenix\object\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\operator\* %_DEST%\inc\boost\spirit\home\phoenix\operator +..\%__SRC%\inc\boost\spirit\home\phoenix\operator\detail\* %_DEST%\inc\boost\spirit\home\phoenix\operator\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\scope\* %_DEST%\inc\boost\spirit\home\phoenix\scope +..\%__SRC%\inc\boost\spirit\home\phoenix\scope\detail\* %_DEST%\inc\boost\spirit\home\phoenix\scope\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\statement\* %_DEST%\inc\boost\spirit\home\phoenix\statement +..\%__SRC%\inc\boost\spirit\home\phoenix\statement\detail\* %_DEST%\inc\boost\spirit\home\phoenix\statement\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\stl\algorithm\* %_DEST%\inc\boost\spirit\home\phoenix\stl\algorithm +..\%__SRC%\inc\boost\spirit\home\phoenix\stl\algorithm\detail\* %_DEST%\inc\boost\spirit\home\phoenix\stl\algorithm\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\stl\container\* %_DEST%\inc\boost\spirit\home\phoenix\stl\container +..\%__SRC%\inc\boost\spirit\home\phoenix\stl\container\detail\* %_DEST%\inc\boost\spirit\home\phoenix\stl\container\detail +..\%__SRC%\inc\boost\spirit\home\phoenix\stl\* %_DEST%\inc\boost\spirit\home\phoenix\stl +..\%__SRC%\inc\boost\spirit\home\qi\action\* %_DEST%\inc\boost\spirit\home\qi\action +..\%__SRC%\inc\boost\spirit\home\qi\auto\* %_DEST%\inc\boost\spirit\home\qi\auto +..\%__SRC%\inc\boost\spirit\home\qi\auxiliary\* %_DEST%\inc\boost\spirit\home\qi\auxiliary +..\%__SRC%\inc\boost\spirit\home\qi\binary\* %_DEST%\inc\boost\spirit\home\qi\binary +..\%__SRC%\inc\boost\spirit\home\qi\char\* %_DEST%\inc\boost\spirit\home\qi\char +..\%__SRC%\inc\boost\spirit\home\qi\* %_DEST%\inc\boost\spirit\home\qi +..\%__SRC%\inc\boost\spirit\home\qi\detail\* %_DEST%\inc\boost\spirit\home\qi\detail +..\%__SRC%\inc\boost\spirit\home\qi\directive\* %_DEST%\inc\boost\spirit\home\qi\directive +..\%__SRC%\inc\boost\spirit\home\qi\nonterminal\* %_DEST%\inc\boost\spirit\home\qi\nonterminal +..\%__SRC%\inc\boost\spirit\home\qi\nonterminal\detail\* %_DEST%\inc\boost\spirit\home\qi\nonterminal\detail +..\%__SRC%\inc\boost\spirit\home\qi\numeric\* %_DEST%\inc\boost\spirit\home\qi\numeric +..\%__SRC%\inc\boost\spirit\home\qi\numeric\detail\* %_DEST%\inc\boost\spirit\home\qi\numeric\detail +..\%__SRC%\inc\boost\spirit\home\qi\operator\* %_DEST%\inc\boost\spirit\home\qi\operator +..\%__SRC%\inc\boost\spirit\home\qi\stream\* %_DEST%\inc\boost\spirit\home\qi\stream +..\%__SRC%\inc\boost\spirit\home\qi\stream\detail\* %_DEST%\inc\boost\spirit\home\qi\stream\detail +..\%__SRC%\inc\boost\spirit\home\qi\string\* %_DEST%\inc\boost\spirit\home\qi\string +..\%__SRC%\inc\boost\spirit\home\qi\string\detail\* %_DEST%\inc\boost\spirit\home\qi\string\detail +..\%__SRC%\inc\boost\spirit\home\support\algorithm\* %_DEST%\inc\boost\spirit\home\support\algorithm +..\%__SRC%\inc\boost\spirit\home\support\auto\* %_DEST%\inc\boost\spirit\home\support\auto +..\%__SRC%\inc\boost\spirit\home\support\auxiliary\* %_DEST%\inc\boost\spirit\home\support\auxiliary +..\%__SRC%\inc\boost\spirit\home\support\char_encoding\* %_DEST%\inc\boost\spirit\home\support\char_encoding +..\%__SRC%\inc\boost\spirit\home\support\char_encoding\unicode\* %_DEST%\inc\boost\spirit\home\support\char_encoding\unicode +..\%__SRC%\inc\boost\spirit\home\support\char_set\* %_DEST%\inc\boost\spirit\home\support\char_set +..\%__SRC%\inc\boost\spirit\home\support\* %_DEST%\inc\boost\spirit\home\support +..\%__SRC%\inc\boost\spirit\home\support\detail\* %_DEST%\inc\boost\spirit\home\support\detail +..\%__SRC%\inc\boost\spirit\home\support\detail\integer\* %_DEST%\inc\boost\spirit\home\support\detail\integer +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\containers\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\containers +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\conversion\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\conversion +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\* %_DEST%\inc\boost\spirit\home\support\detail\lexer +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\parser\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\parser\tokeniser\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser\tokeniser +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\parser\tree\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\parser\tree +..\%__SRC%\inc\boost\spirit\home\support\detail\lexer\partition\* %_DEST%\inc\boost\spirit\home\support\detail\lexer\partition +..\%__SRC%\inc\boost\spirit\home\support\detail\math\* %_DEST%\inc\boost\spirit\home\support\detail\math +..\%__SRC%\inc\boost\spirit\home\support\detail\math\detail\* %_DEST%\inc\boost\spirit\home\support\detail\math\detail +..\%__SRC%\inc\boost\spirit\home\support\iterators\* %_DEST%\inc\boost\spirit\home\support\iterators +..\%__SRC%\inc\boost\spirit\home\support\iterators\detail\* %_DEST%\inc\boost\spirit\home\support\iterators\detail +..\%__SRC%\inc\boost\spirit\home\support\nonterminal\* %_DEST%\inc\boost\spirit\home\support\nonterminal +..\%__SRC%\inc\boost\spirit\include\* %_DEST%\inc\boost\spirit\include +..\%__SRC%\inc\boost\spirit\iterator\* %_DEST%\inc\boost\spirit\iterator +..\%__SRC%\inc\boost\spirit\meta\* %_DEST%\inc\boost\spirit\meta +..\%__SRC%\inc\boost\spirit\phoenix\* %_DEST%\inc\boost\spirit\phoenix +..\%__SRC%\inc\boost\spirit\repository\home\* %_DEST%\inc\boost\spirit\repository\home +..\%__SRC%\inc\boost\spirit\repository\home\karma\* %_DEST%\inc\boost\spirit\repository\home\karma +..\%__SRC%\inc\boost\spirit\repository\home\karma\directive\* %_DEST%\inc\boost\spirit\repository\home\karma\directive +..\%__SRC%\inc\boost\spirit\repository\home\karma\nonterminal\* %_DEST%\inc\boost\spirit\repository\home\karma\nonterminal +..\%__SRC%\inc\boost\spirit\repository\home\qi\* %_DEST%\inc\boost\spirit\repository\home\qi +..\%__SRC%\inc\boost\spirit\repository\home\qi\directive\* %_DEST%\inc\boost\spirit\repository\home\qi\directive +..\%__SRC%\inc\boost\spirit\repository\home\qi\nonterminal\* %_DEST%\inc\boost\spirit\repository\home\qi\nonterminal +..\%__SRC%\inc\boost\spirit\repository\home\qi\primitive\* %_DEST%\inc\boost\spirit\repository\home\qi\primitive +..\%__SRC%\inc\boost\spirit\repository\home\support\* %_DEST%\inc\boost\spirit\repository\home\support +..\%__SRC%\inc\boost\spirit\repository\include\* %_DEST%\inc\boost\spirit\repository\include +..\%__SRC%\inc\boost\spirit\symbols\* %_DEST%\inc\boost\spirit\symbols +..\%__SRC%\inc\boost\spirit\tree\* %_DEST%\inc\boost\spirit\tree +..\%__SRC%\inc\boost\spirit\utility\* %_DEST%\inc\boost\spirit\utility +..\%__SRC%\inc\boost\statechart\* %_DEST%\inc\boost\statechart +..\%__SRC%\inc\boost\statechart\detail\* %_DEST%\inc\boost\statechart\detail +..\%__SRC%\inc\boost\system\* %_DEST%\inc\boost\system +..\%__SRC%\inc\boost\test\* %_DEST%\inc\boost\test +..\%__SRC%\inc\boost\test\detail\* %_DEST%\inc\boost\test\detail +..\%__SRC%\inc\boost\test\impl\* %_DEST%\inc\boost\test\impl +..\%__SRC%\inc\boost\test\included\* %_DEST%\inc\boost\test\included +..\%__SRC%\inc\boost\test\output\* %_DEST%\inc\boost\test\output +..\%__SRC%\inc\boost\test\utils\basic_cstring\* %_DEST%\inc\boost\test\utils\basic_cstring +..\%__SRC%\inc\boost\test\utils\* %_DEST%\inc\boost\test\utils +..\%__SRC%\inc\boost\test\utils\iterator\* %_DEST%\inc\boost\test\utils\iterator +..\%__SRC%\inc\boost\test\utils\runtime\cla\* %_DEST%\inc\boost\test\utils\runtime\cla +..\%__SRC%\inc\boost\test\utils\runtime\cla\detail\* %_DEST%\inc\boost\test\utils\runtime\cla\detail +..\%__SRC%\inc\boost\test\utils\runtime\cla\iface\* %_DEST%\inc\boost\test\utils\runtime\cla\iface +..\%__SRC%\inc\boost\test\utils\runtime\* %_DEST%\inc\boost\test\utils\runtime +..\%__SRC%\inc\boost\test\utils\runtime\env\* %_DEST%\inc\boost\test\utils\runtime\env +..\%__SRC%\inc\boost\test\utils\runtime\file\* %_DEST%\inc\boost\test\utils\runtime\file +..\%__SRC%\inc\boost\thread\* %_DEST%\inc\boost\thread +..\%__SRC%\inc\boost\thread\detail\* %_DEST%\inc\boost\thread\detail +..\%__SRC%\inc\boost\thread\pthread\* %_DEST%\inc\boost\thread\pthread +..\%__SRC%\inc\boost\thread\win32\* %_DEST%\inc\boost\thread\win32 +..\%__SRC%\inc\boost\tr1\* %_DEST%\inc\boost\tr1 +..\%__SRC%\inc\boost\tr1\detail\* %_DEST%\inc\boost\tr1\detail +..\%__SRC%\inc\boost\tr1\tr1\bcc32\* %_DEST%\inc\boost\tr1\tr1\bcc32 +..\%__SRC%\inc\boost\tr1\tr1\* %_DEST%\inc\boost\tr1\tr1 +..\%__SRC%\inc\boost\tr1\tr1\sun\* %_DEST%\inc\boost\tr1\tr1\sun +..\%__SRC%\inc\boost\tuple\* %_DEST%\inc\boost\tuple +..\%__SRC%\inc\boost\tuple\detail\* %_DEST%\inc\boost\tuple\detail +..\%__SRC%\inc\boost\typeof\* %_DEST%\inc\boost\typeof +..\%__SRC%\inc\boost\typeof\dmc\* %_DEST%\inc\boost\typeof\dmc +..\%__SRC%\inc\boost\typeof\msvc\* %_DEST%\inc\boost\typeof\msvc +..\%__SRC%\inc\boost\typeof\std\* %_DEST%\inc\boost\typeof\std +..\%__SRC%\inc\boost\type_traits\* %_DEST%\inc\boost\type_traits +..\%__SRC%\inc\boost\type_traits\detail\* %_DEST%\inc\boost\type_traits\detail +..\%__SRC%\inc\boost\type_traits\msvc\* %_DEST%\inc\boost\type_traits\msvc +..\%__SRC%\inc\boost\units\base_units\angle\* %_DEST%\inc\boost\units\base_units\angle +..\%__SRC%\inc\boost\units\base_units\astronomical\* %_DEST%\inc\boost\units\base_units\astronomical +..\%__SRC%\inc\boost\units\base_units\cgs\* %_DEST%\inc\boost\units\base_units\cgs +..\%__SRC%\inc\boost\units\base_units\imperial\* %_DEST%\inc\boost\units\base_units\imperial +..\%__SRC%\inc\boost\units\base_units\metric\* %_DEST%\inc\boost\units\base_units\metric +..\%__SRC%\inc\boost\units\base_units\si\* %_DEST%\inc\boost\units\base_units\si +..\%__SRC%\inc\boost\units\base_units\temperature\* %_DEST%\inc\boost\units\base_units\temperature +..\%__SRC%\inc\boost\units\base_units\us\* %_DEST%\inc\boost\units\base_units\us +..\%__SRC%\inc\boost\units\* %_DEST%\inc\boost\units +..\%__SRC%\inc\boost\units\detail\* %_DEST%\inc\boost\units\detail +..\%__SRC%\inc\boost\units\physical_dimensions\* %_DEST%\inc\boost\units\physical_dimensions +..\%__SRC%\inc\boost\units\systems\angle\* %_DEST%\inc\boost\units\systems\angle +..\%__SRC%\inc\boost\units\systems\cgs\* %_DEST%\inc\boost\units\systems\cgs +..\%__SRC%\inc\boost\units\systems\* %_DEST%\inc\boost\units\systems +..\%__SRC%\inc\boost\units\systems\detail\* %_DEST%\inc\boost\units\systems\detail +..\%__SRC%\inc\boost\units\systems\si\codata\* %_DEST%\inc\boost\units\systems\si\codata +..\%__SRC%\inc\boost\units\systems\si\* %_DEST%\inc\boost\units\systems\si +..\%__SRC%\inc\boost\units\systems\temperature\* %_DEST%\inc\boost\units\systems\temperature +..\%__SRC%\inc\boost\unordered\* %_DEST%\inc\boost\unordered +..\%__SRC%\inc\boost\unordered\detail\* %_DEST%\inc\boost\unordered\detail +..\%__SRC%\inc\boost\utility\* %_DEST%\inc\boost\utility +..\%__SRC%\inc\boost\utility\detail\* %_DEST%\inc\boost\utility\detail +..\%__SRC%\inc\boost\uuid\* %_DEST%\inc\boost\uuid +..\%__SRC%\inc\boost\variant\* %_DEST%\inc\boost\variant +..\%__SRC%\inc\boost\variant\detail\* %_DEST%\inc\boost\variant\detail +..\%__SRC%\inc\boost\wave\cpplexer\* %_DEST%\inc\boost\wave\cpplexer +..\%__SRC%\inc\boost\wave\cpplexer\re2clex\* %_DEST%\inc\boost\wave\cpplexer\re2clex +..\%__SRC%\inc\boost\wave\* %_DEST%\inc\boost\wave +..\%__SRC%\inc\boost\wave\grammars\* %_DEST%\inc\boost\wave\grammars +..\%__SRC%\inc\boost\wave\util\* %_DEST%\inc\boost\wave\util +..\%__SRC%\inc\boost\xpressive\* %_DEST%\inc\boost\xpressive +..\%__SRC%\inc\boost\xpressive\detail\core\* %_DEST%\inc\boost\xpressive\detail\core +..\%__SRC%\inc\boost\xpressive\detail\core\matcher\* %_DEST%\inc\boost\xpressive\detail\core\matcher +..\%__SRC%\inc\boost\xpressive\detail\* %_DEST%\inc\boost\xpressive\detail +..\%__SRC%\inc\boost\xpressive\detail\dynamic\* %_DEST%\inc\boost\xpressive\detail\dynamic +..\%__SRC%\inc\boost\xpressive\detail\static\* %_DEST%\inc\boost\xpressive\detail\static +..\%__SRC%\inc\boost\xpressive\detail\static\transforms\* %_DEST%\inc\boost\xpressive\detail\static\transforms +..\%__SRC%\inc\boost\xpressive\detail\utility\chset\* %_DEST%\inc\boost\xpressive\detail\utility\chset +..\%__SRC%\inc\boost\xpressive\detail\utility\* %_DEST%\inc\boost\xpressive\detail\utility +..\%__SRC%\inc\boost\xpressive\traits\* %_DEST%\inc\boost\xpressive\traits +..\%__SRC%\inc\boost\xpressive\traits\detail\* %_DEST%\inc\boost\xpressive\traits\detail diff --git a/boost/unordered_map-doesnt-support-cp-ctor.patch b/boost/unordered_map-doesnt-support-cp-ctor.patch new file mode 100644 index 000000000000..42e71752f975 --- /dev/null +++ b/boost/unordered_map-doesnt-support-cp-ctor.patch @@ -0,0 +1,92 @@ +Index: /trunk/boost/unordered/unordered_set.hpp +=================================================================== +--- misc/boost_1_44_0/boost/unordered/unordered_set.hpp (revision 60754) ++++ misc/build/boost_1_44_0/boost/unordered/unordered_set.hpp (revision 68445) +@@ -155,4 +155,9 @@ + + #if !defined(BOOST_NO_RVALUE_REFERENCES) ++ unordered_set(unordered_set const& other) ++ : table_(other.table_) ++ { ++ } ++ + unordered_set(unordered_set&& other) + : table_(other.table_, boost::unordered_detail::move_tag()) +@@ -163,4 +168,10 @@ + : table_(other.table_, a, boost::unordered_detail::move_tag()) + { ++ } ++ ++ unordered_set& operator=(unordered_set const& x) ++ { ++ table_ = x.table_; ++ return *this; + } + +@@ -652,4 +663,9 @@ + + #if !defined(BOOST_NO_RVALUE_REFERENCES) ++ unordered_multiset(unordered_multiset const& other) ++ : table_(other.table_) ++ { ++ } ++ + unordered_multiset(unordered_multiset&& other) + : table_(other.table_, boost::unordered_detail::move_tag()) +@@ -660,4 +676,10 @@ + : table_(other.table_, a, boost::unordered_detail::move_tag()) + { ++ } ++ ++ unordered_multiset& operator=(unordered_multiset const& x) ++ { ++ table_ = x.table_; ++ return *this; + } + +Index: /trunk/boost/unordered/unordered_map.hpp +=================================================================== +--- misc/boost_1_44_0/boost/unordered/unordered_map.hpp (revision 60754) ++++ misc/build/boost_1_44_0/boost/unordered/unordered_map.hpp (revision 68445) +@@ -161,4 +161,9 @@ + + #if !defined(BOOST_NO_RVALUE_REFERENCES) ++ unordered_map(unordered_map const& other) ++ : table_(other.table_) ++ { ++ } ++ + unordered_map(unordered_map&& other) + : table_(other.table_, boost::unordered_detail::move_tag()) +@@ -169,4 +174,10 @@ + : table_(other.table_, a, boost::unordered_detail::move_tag()) + { ++ } ++ ++ unordered_map& operator=(unordered_map const& x) ++ { ++ table_ = x.table_; ++ return *this; + } + +@@ -706,4 +717,9 @@ + + #if !defined(BOOST_NO_RVALUE_REFERENCES) ++ unordered_multimap(unordered_multimap const& other) ++ : table_(other.table_) ++ { ++ } ++ + unordered_multimap(unordered_multimap&& other) + : table_(other.table_, boost::unordered_detail::move_tag()) +@@ -714,4 +730,10 @@ + : table_(other.table_, a, boost::unordered_detail::move_tag()) + { ++ } ++ ++ unordered_multimap& operator=(unordered_multimap const& x) ++ { ++ table_ = x.table_; ++ return *this; + } + diff --git a/cairo/cairo-1.8.0.ios.patch b/cairo/cairo-1.8.0.ios.patch new file mode 100644 index 000000000000..a5cc8e975e2d --- /dev/null +++ b/cairo/cairo-1.8.0.ios.patch @@ -0,0 +1,66 @@ +--- misc/build/cairo-1.8.0.org/src/cairo-quartz.h ++++ misc/build/cairo-1.8.0/src/cairo-quartz.h +@@ -40,7 +40,7 @@ + + #if CAIRO_HAS_QUARTZ_SURFACE + +-#include <ApplicationServices/ApplicationServices.h> ++#include <CoreGraphics/CoreGraphics.h> + + CAIRO_BEGIN_DECLS + +@@ -66,8 +66,12 @@ + cairo_public cairo_font_face_t * + cairo_quartz_font_face_create_for_cgfont (CGFontRef font); + ++#if 0 ++ + cairo_public cairo_font_face_t * + cairo_quartz_font_face_create_for_atsu_font_id (ATSUFontID font_id); ++ ++#endif /* 0 */ + + #endif /* CAIRO_HAS_QUARTZ_FONT */ + +--- misc/build/cairo-1.8.0.org/src/cairo-quartz-surface.c ++++ misc/build/cairo-1.8.0/src/cairo-quartz-surface.c +@@ -152,10 +152,6 @@ + CGContextGetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextGetAllowsFontSmoothing"); + CGContextSetAllowsFontSmoothingPtr = dlsym(RTLD_DEFAULT, "CGContextSetAllowsFontSmoothing"); + +- if (Gestalt(gestaltSystemVersion, &_cairo_quartz_osx_version) != noErr) { +- // assume 10.4 +- _cairo_quartz_osx_version = 0x1040; +- } + + _cairo_quartz_symbol_lookup_done = TRUE; + } +@@ -2093,7 +2093,10 @@ + yprev = yf; + } + +- if (_cairo_quartz_osx_version >= 0x1050 && isClipping) { ++ if (0) { ++ /* Assume the bug mentioned below is not present in iOS, ++ * until proven otherwise. ++ */ + /* If we're clipping, OSX 10.5 (at least as of 10.5.2) has a + * bug (apple bug ID #5834794) where the glyph + * advances/positions are not transformed by the text matrix +--- misc/build/cairo-1.8.0.org/src/cairo-quartz-font.c ++++ misc/build/cairo-1.8.0/src/cairo-quartz-font.c +@@ -766,6 +766,8 @@ + } + + ++#if 0 ++ + /* + * compat with old ATSUI backend + */ +@@ -808,3 +808,5 @@ + { + return cairo_quartz_font_face_create_for_atsu_font_id (font_id); + } ++ ++#endif /* 0 */ diff --git a/cairo/cairo-1.8.0.patch b/cairo/cairo-1.8.0.patch new file mode 100644 index 000000000000..3c1f7807cba3 --- /dev/null +++ b/cairo/cairo-1.8.0.patch @@ -0,0 +1,285 @@ +diff -ur misc/build/cairo-1.8.0.org/build/Makefile.win32.common misc/build/cairo-1.8.0/build/Makefile.win32.common +--- misc/build/cairo-1.8.0.org/build/Makefile.win32.common 2008-09-25 14:36:35.000000000 +0300 ++++ misc/build/cairo-1.8.0/build/Makefile.win32.common 2008-11-14 22:20:08.000000000 +0200 +@@ -18,8 +18,8 @@ + OPT := -O2 + endif + +-PIXMAN_CFLAGS := -I$(top_srcdir)/../pixman/pixman +-PIXMAN_LIBS := $(top_builddir)/../pixman/pixman/$(CFG)/pixman-1.lib ++PIXMAN_CFLAGS := -I../../../../inc ++PIXMAN_LIBS := ../../../../lib/pixman-1.lib + + CAIRO_LIBS = gdi32.lib msimg32.lib user32.lib + ifeq ($(CAIRO_HAS_PNG_FUNCTIONS),1) +@@ -27,13 +27,15 @@ + endif + ifeq ($(CAIRO_HAS_PS_SURFACE)$(CAIRO_HAS_PDF_SURFACE),00) + else +-CAIRO_LIBS += zdll.lib ++CAIRO_LIBS += zlib.lib + endif + + DEFAULT_CFLAGS = -MD -nologo $(OPT) + DEFAULT_CFLAGS += -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE + DEFAULT_CFLAGS += -I. -I$(top_srcdir) + DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) ++DEFAULT_CFLAGS += $(SOLARINC) ++DEFAULT_CFLAGS += -I$(SOLARVER)/$(INPATH)/inc/zlib -I$(SOLARVER)/$(INPATH)/inc/external/libpng -DZLIB_FIX + + CAIRO_CFLAGS = $(DEFAULT_CFLAGS) $(CFLAGS) + +@@ -55,7 +57,7 @@ + + $(CFG)/%.obj: %.c + @mkdir -p $(CFG) +- @$(CC) $(CAIRO_CFLAGS) -c -Fo"$@" $< ++ $(CC) $(CAIRO_CFLAGS) -c -Fo"$@" $< + + $(CFG)/%-static.obj: %.c + @mkdir -p $(CFG) +diff -ur misc/build/cairo-1.8.0.org/build/Makefile.win32.features misc/build/cairo-1.8.0/build/Makefile.win32.features +--- misc/build/cairo-1.8.0.org/build/Makefile.win32.features 2008-09-25 02:15:49.000000000 +0300 ++++ misc/build/cairo-1.8.0/build/Makefile.win32.features 2008-11-04 22:19:52.000000000 +0200 +@@ -10,11 +10,11 @@ + CAIRO_HAS_WIN32_FONT=1 + CAIRO_HAS_OS2_SURFACE=0 + CAIRO_HAS_BEOS_SURFACE=0 +-CAIRO_HAS_PNG_FUNCTIONS=1 ++CAIRO_HAS_PNG_FUNCTIONS=1 + CAIRO_HAS_GLITZ_SURFACE=0 + CAIRO_HAS_DIRECTFB_SURFACE=0 + CAIRO_HAS_FT_FONT=0 + CAIRO_HAS_PS_SURFACE=1 + CAIRO_HAS_PDF_SURFACE=1 +-CAIRO_HAS_SVG_SURFACE=1 ++CAIRO_HAS_SVG_SURFACE=0 + CAIRO_HAS_TEST_SURFACES=0 +--- misc/build/cairo-1.8.0.org/build/config.sub ++++ misc/build/cairo-1.8.0/build/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +diff -ur misc/build/cairo-1.8.0.org/configure misc/build/cairo-1.8.0/configure +--- misc/build/cairo-1.8.0.org/configure 2008-09-26 01:57:30.000000000 +0300 ++++ misc/build/cairo-1.8.0/configure 2008-11-04 22:21:26.000000000 +0200 +@@ -4397,7 +4397,7 @@ + + cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_deplibs_check_method='file_magic ^x86 archive|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +@@ -4406,7 +4406,7 @@ + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_deplibs_check_method='file_magic ^x86 archive|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' +@@ -25304,19 +25304,39 @@ + rm -f confcache + + +-{ echo "$as_me:$LINENO: checking for compress in -lz" >&5 +-echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6; } +-if test "${ac_cv_lib_z_compress+set}" = set; then ++save_libs="$LIBS" ++LIBS="$LIBS $ZLIB3RDLIB" ++ ++for ac_func in $COMPRESS ++do ++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ++{ echo "$as_me:$LINENO: checking for $ac_func" >&5 ++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } ++if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else +- ac_check_lib_save_LIBS=$LIBS +-LIBS="-lz $LIBS" +-cat >conftest.$ac_ext <<_ACEOF ++ cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. ++ For example, HP-UX 11i <limits.h> declares gettimeofday. */ ++#define $ac_func innocuous_$ac_func ++ ++/* System header to define __stub macros and hopefully few prototypes, ++ which can conflict with char $ac_func (); below. ++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since ++ <limits.h> exists even on freestanding compilers. */ ++ ++#ifdef __STDC__ ++# include <limits.h> ++#else ++# include <assert.h> ++#endif ++ ++#undef $ac_func + + /* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC +@@ -25324,11 +25344,18 @@ + #ifdef __cplusplus + extern "C" + #endif +-char compress (); ++char $ac_func (); ++/* The GNU C library defines this for functions which it implements ++ to always fail with ENOSYS. Some functions are actually named ++ something starting with __ and the normal name is an alias. */ ++#if defined __stub_$ac_func || defined __stub___$ac_func ++choke me ++#endif ++ + int + main () + { +-return compress (); ++return $ac_func (); + ; + return 0; + } +@@ -25351,22 +25378,25 @@ + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then +- ac_cv_lib_z_compress=yes ++ eval "$as_ac_var=yes" + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + +- ac_cv_lib_z_compress=no ++ eval "$as_ac_var=no" + fi + + rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +-LIBS=$ac_check_lib_save_LIBS + fi +-{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_compress" >&5 +-echo "${ECHO_T}$ac_cv_lib_z_compress" >&6; } +-if test $ac_cv_lib_z_compress = yes; then +- if test "${ac_cv_header_zlib_h+set}" = set; then ++ac_res=`eval echo '${'$as_ac_var'}'` ++ { echo "$as_me:$LINENO: result: $ac_res" >&5 ++echo "${ECHO_T}$ac_res" >&6; } ++if test `eval echo '${'$as_ac_var'}'` = yes; then ++ cat >>confdefs.h <<_ACEOF ++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ++_ACEOF ++ if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 + echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } + if test "${ac_cv_header_zlib_h+set}" = set; then +@@ -25506,7 +25536,9 @@ + else + have_libz="no (requires zlib http://www.gzip.org/zlib/)" + fi ++done + ++LIBS="$save_libs" + + + { echo "$as_me:$LINENO: checking for X" >&5 +@@ -31723,7 +31723,7 @@ + + if test "x$png_REQUIRES" = x; then + # libpng13 is GnuWin32's libpng-1.2.8 :-( +- for l in libpng12 libpng13 libpng10 ; do ++ for l in libpng12 libpng13 libpng14 libpng10 ; do + if $PKG_CONFIG --exists $l ; then + png_REQUIRES=$l + use_png=yes +@@ -34097,7 +34129,7 @@ + + # The ps backend requires zlib. + use_ps=$have_libz +- ps_NONPKGCONFIG_LIBS=-lz ++ ps_NONPKGCONFIG_LIBS=$ZLIB3RDLIB + + cairo_cv_ps_use=$use_ps + cairo_cv_ps_cache_vars=" BASE REQUIRES CFLAGS NONPKGCONFIG_CFLAGS LIBS NONPKGCONFIG_LIBS" +@@ -34444,7 +34476,7 @@ + + # The pdf backend requires zlib. + use_pdf=$have_libz +- pdf_NONPKGCONFIG_LIBS=-lz ++ pdf_NONPKGCONFIG_LIBS=$ZLIB3RDLIB + + cairo_cv_pdf_use=$use_pdf + cairo_cv_pdf_cache_vars=" BASE REQUIRES CFLAGS NONPKGCONFIG_CFLAGS LIBS NONPKGCONFIG_LIBS" +diff -ur misc/build/cairo-1.8.0.org/src/cairo-deflate-stream.c misc/build/cairo-1.8.0/src/cairo-deflate-stream.c +--- misc/build/cairo-1.8.0.org/src/cairo-deflate-stream.c 2008-09-25 13:03:43.000000000 +0300 ++++ misc/build/cairo-1.8.0/src/cairo-deflate-stream.c 2008-11-14 22:21:00.000000000 +0200 +@@ -36,7 +36,11 @@ + + #include "cairoint.h" + #include "cairo-output-stream-private.h" ++#ifdef ZLIB_FIX ++#include <zlib/zlib.h> ++#else + #include <zlib.h> ++#endif + + #define BUFFER_SIZE 16384 + +diff -ur misc/build/cairo-1.8.0.org/src/cairo-pdf-surface.c misc/build/cairo-1.8.0/src/cairo-pdf-surface.c +--- misc/build/cairo-1.8.0.org/src/cairo-pdf-surface.c 2008-09-25 14:36:35.000000000 +0300 ++++ misc/build/cairo-1.8.0/src/cairo-pdf-surface.c 2008-11-14 22:20:41.000000000 +0200 +@@ -51,7 +51,11 @@ + #include "cairo-type3-glyph-surface-private.h" + + #include <time.h> ++#ifdef ZLIB_FIX ++#include <zlib/zlib.h> ++#else + #include <zlib.h> ++#endif + + /* Issues: + * +diff -ur misc/build/cairo-1.8.0.org/src/cairo-ps-surface.c misc/build/cairo-1.8.0/src/cairo-ps-surface.c +--- misc/build/cairo-1.8.0.org/src/cairo-ps-surface.c 2008-09-25 14:36:35.000000000 +0300 ++++ misc/build/cairo-1.8.0/src/cairo-ps-surface.c 2008-11-14 22:21:33.000000000 +0200 +@@ -67,7 +67,11 @@ + #include <stdio.h> + #include <ctype.h> + #include <time.h> ++#ifdef ZLIB_FIX ++#include <zlib/zlib.h> ++#else + #include <zlib.h> ++#endif + #include <errno.h> + + #define DEBUG_PS 0 +--- misc/build/cairo-1.8.0.org/src/cairo-output-stream.c ++++ misc/build/cairo-1.8.0/src/cairo-output-stream.c +@@ -281,7 +281,11 @@ + d = 0.0; + + locale_data = localeconv (); ++#ifdef __ANDROID__ ++ decimal_point = "."; ++#else + decimal_point = locale_data->decimal_point; ++#endif + decimal_point_len = strlen (decimal_point); + + assert (decimal_point_len != 0); diff --git a/cairo/cairo/dummy_pkg_config b/cairo/cairo/dummy_pkg_config new file mode 100755 index 000000000000..829303ea5b21 --- /dev/null +++ b/cairo/cairo/dummy_pkg_config @@ -0,0 +1,3 @@ +#!/bin/sh + + diff --git a/cairo/cairo/makefile.mk b/cairo/cairo/makefile.mk new file mode 100644 index 000000000000..3f411aa4ca3a --- /dev/null +++ b/cairo/cairo/makefile.mk @@ -0,0 +1,243 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=.. + +PRJNAME=cairo +TARGET=so_cairo +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_CAIRO)" == "YES" || "$(GUIBASE)" == "android" +all: + @echo "Not building cairo." +.ENDIF + +# --- Files -------------------------------------------------------- + +CAIROVERSION=1.8.0 + +TARFILE_NAME=$(PRJNAME)-$(CAIROVERSION) +TARFILE_MD5=4ea70ea87b47e92d318d4e7f5b940f47 + +PATCH_FILES=..$/$(TARFILE_NAME).patch + +.IF "$(OS)" == "IOS" +PATCH_FILES+=..$/$(TARFILE_NAME).ios.patch +.ENDIF + +cairo_CFLAGS=$(SOLARINC) +cairo_LDFLAGS=$(SOLARLIB) + +cairo_CPPFLAGS= + +.IF "$(SYSTEM_ZLIB)"!="YES" +cairo_CPPFLAGS+=-I$(SOLARINCDIR)$/external$/zlib +cairo_COMPRESS=z_compress +.ELSE +cairo_COMPRESS=compress +.ENDIF +cairo_CPPFLAGS+=$(INCLUDE) + +.IF "$(OS)"=="WNT" +# --------- Windows ------------------------------------------------- +.IF "$(COM)"=="GCC" +cairo_LDFLAGS+=-no-undefined -L$(ILIB:s/;/ -L/) +cairo_CPPFLAGS+=-nostdinc +cairo_CC=$(CC) -mthreads + +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +cairo_CC+=-shared-libgcc +.ENDIF +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +cairo_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF + +CONFIGURE_DIR= +CONFIGURE_ACTION=cp $(SRC_ROOT)$/$(PRJNAME)$/cairo$/dummy_pkg_config . && .$/configure +CONFIGURE_FLAGS=--disable-xlib --disable-ft --disable-pthread --disable-svg --enable-gtk-doc=no --enable-test-surfaces=no --enable-static=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 PKG_CONFIG=./dummy_pkg_config CC="$(cairo_CC)" LIBS="$(cairo_LIBS)" ZLIB3RDLIB=$(ZLIB3RDLIB) COMPRESS=$(cairo_COMPRESS) OBJDUMP="$(WRAPCMD) objdump" +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.IF "$(GUI)$(COM)"=="WNTGCC" +.EXPORT : PWD +.ENDIF + +.ELSE # WNT, not GCC +BUILD_ACTION=$(GNUMAKE) -f Makefile.win32 CFG=release +BUILD_DIR= +.ENDIF + +OUT2INC+=src$/cairo-win32.h + +.ELIF "$(GUIBASE)"=="aqua" +# ----------- Native Mac OS X (Aqua/Quartz) -------------------------------- +.IF "$(SYSBASE)"!="" +.IF "$(EXTRA_CFLAGS)" != "" +cairo_CFLAGS+=$(EXTRA_CFLAGS) $(EXTRA_CDEFS) +cairo_CPPFLAGS+=$(EXTRA_CFLAGS) $(EXTRA_CDEFS) +.ENDIF # "$(EXTRA_CFLAGS)" != "" +.ENDIF # "$(SYSBASE)"!="" +CONFIGURE_DIR= +CONFIGURE_ACTION=cp $(SRC_ROOT)$/$(PRJNAME)$/cairo$/dummy_pkg_config . && .$/configure +CONFIGURE_FLAGS=--enable-static=no --disable-xlib --disable-ft --disable-svg --enable-quartz --enable-quartz-font --enable-gtk-doc=no --enable-test-surfaces=no PKG_CONFIG=./dummy_pkg_config ZLIB3RDLIB=$(ZLIB3RDLIB) COMPRESS=$(cairo_COMPRESS) +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF +cairo_CPPFLAGS+=$(EXTRA_CDEFS) +cairo_LDFLAGS+=$(EXTRA_LINKFLAGS) +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) + +OUT2INC+=src$/cairo-quartz.h + +.ELSE +# ----------- Unix --------------------------------------------------------- +.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" +cairo_LDFLAGS+=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-z,noexecstack +.ELIF "$(OS)$(COM)"=="SOLARISC52" +cairo_LDFLAGS+=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" + +.IF "$(SYSBASE)"!="" +cairo_CFLAGS+=-I$(SYSBASE)$/usr$/include -I$(SOLARINCDIR)$/external $(EXTRA_CFLAGS) +.IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX" +cairo_LDFLAGS+=-L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -L$(SOLARLIBDIR) -lpthread -ldl +.ENDIF +.ENDIF # "$(SYSBASE)"!="" + +LDFLAGS:=$(cairo_LDFLAGS) +.EXPORT: LDFLAGS + +.IF "$(COMNAME)"=="sunpro5" +cairo_CFLAGS+=-xc99=none +.ENDIF + +.IF "$(CPU)"=="I" +cairo_CFLAGS+=-march=i486 +.ENDIF + +CONFIGURE_DIR= + +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +# No pkg-config on MacOSX (for iOS) or in the Android NDK +CONFIGURE_ACTION=cp $(SRC_ROOT)$/$(PRJNAME)$/cairo$/dummy_pkg_config . && .$/configure +.ELSE +CONFIGURE_ACTION=.$/configure +.ENDIF + +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS=--disable-shared --disable-xlib --enable-quartz --enable-quartz-font +.ELSE +CONFIGURE_FLAGS=--disable-static --enable-xlib +.ENDIF + +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +CONFIGURE_FLAGS+=--disable-ft PKG_CONFIG=./dummy_pkg_config +.ELSE +CONFIGURE_FLAGS+=--enable-ft +.ENDIF + +CONFIGURE_FLAGS+=--disable-svg --enable-gtk-doc=no --enable-test-surfaces=no ZLIB3RDLIB=$(ZLIB3RDLIB) COMPRESS=$(cairo_COMPRESS) + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) + +.IF "$(OS)" == "IOS" +OUT2INC+=src$/cairo-quartz.h +.ELSE +OUT2INC+=src$/cairo-xlib.h \ + src$/cairo-xlib-xrender.h \ + src$/cairo-ft.h +.ENDIF + +.ENDIF + + +# -------- All platforms -------------------------------------------- + +.IF "$(OS)" != "WNT" || "$(COM)" == "GCC" +# all other platforms except vanilla WNT, which does not use configure + +# pixman is in this module +# We include paths to this module also in LDFLAGS/CFLAGS to guarantee search order. +# However pixman_* vars need to be also set for configure to work properly on all platforms. +CONFIGURE_FLAGS+=pixman_CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc" pixman_LIBS="-L$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/lib -lpixman-1" + +.IF "$(debug)"!="" +cairo_CFLAGS+=-g +CONFIGURE_FLAGS+= STRIP=" " +.ENDIF + +CONFIGURE_FLAGS+=CFLAGS="-I$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/inc $(cairo_CFLAGS)" LDFLAGS="-L$(SRC_ROOT)$/$(PRJNAME)$/$(INPATH)$/lib $(cairo_LDFLAGS)" CPPFLAGS="$(cairo_CPPFLAGS)" + +.ENDIF + +.IF "$(SYSTEM_LIBPNG)" != "YES" +CONFIGURE_FLAGS+=png_CFLAGS="-I$(SOLARINCDIR)$/external$/libpng" png_LIBS="-L$(SOLARLIBDIR) -lpng" +.ENDIF + + +OUT2INC+=cairo-version.h \ + src$/cairo-deprecated.h \ + src$/cairo-features.h \ + src$/cairo-pdf.h \ + src$/cairo-ps.h \ + src$/cairo.h + +.IF "$(OS)"=="MACOSX" +EXTRPATH=LOADER +OUT2LIB+=src$/.libs$/libcairo*.dylib +.ELIF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +OUT2BIN+=src$/.libs$/*.a +OUT2BIN+=src$/.libs$/*.dll +.ELSE +OUT2LIB+=src$/release$/*.lib +OUT2BIN+=src$/release$/*.dll +.ENDIF +.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +OUT2LIB+=src$/.libs$/libcairo*.a +.ELSE +OUT2LIB+=src$/.libs$/libcairo.so* +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/cairo/pixman-0.12.0.patch b/cairo/pixman-0.12.0.patch new file mode 100644 index 000000000000..8694a8778ec1 --- /dev/null +++ b/cairo/pixman-0.12.0.patch @@ -0,0 +1,47 @@ +--- misc/build/pixman-0.12.0/config.sub ++++ misc/build/pixman-0.12.0/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/build/pixman-0.12.0/configure.orig 2008-09-17 20:14:40.000000000 +0300 ++++ misc/build/pixman-0.12.0/configure 2008-11-08 21:17:00.000000000 +0200 +@@ -19740,6 +19740,13 @@ + + + ++# getisax is falsely detected when using OOo build script on Linux/FBSD... ++case "$build_os" in ++ linux-gnu*) ++ ;; ++ freebsd*) ++ ;; ++ *) + + for ac_func in getisax + do +@@ -19834,6 +19841,8 @@ + fi + done + ++ ;; ++esac + { echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 + echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } + if test "${ac_cv_c_bigendian+set}" = set; then +--- misc/pixman-0.12.0/Makefile.in 2008-09-17 19:14:38.000000000 +0200 ++++ misc/build/pixman-0.12.0/Makefile.in 2010-09-28 14:27:47.000000000 +0200 +@@ -203,7 +203,7 @@ + target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = pixman test ++SUBDIRS = pixman + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = pixman-1.pc + GPGKEY = 6FF7C1A8 diff --git a/cairo/pixman/makefile.mk b/cairo/pixman/makefile.mk new file mode 100644 index 000000000000..58fcda2803bd --- /dev/null +++ b/cairo/pixman/makefile.mk @@ -0,0 +1,162 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=.. + +PRJNAME=cairo +TARGET=so_pixman +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_CAIRO)" == "YES" || "$(GUIBASE)" == "android" +all: + @echo "Not building pixman." + +.ENDIF + +# --- Files -------------------------------------------------------- + +PIXMANVERSION=0.12.0 + +TARFILE_NAME=pixman-$(PIXMANVERSION) +TARFILE_MD5=09357cc74975b01714e00c5899ea1881 + +PATCH_FILES=..$/$(TARFILE_NAME).patch + +# Note: we are building static pixman library to avoid linking problems. +# However, for Unix dynamic library must be used (especially due to 64bit issues) + +.IF "$(OS)"=="WNT" +# --------- Windows ------------------------------------------------- +.IF "$(COM)"=="GCC" +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CFLAGS="$(pixman_CFLAGS) -mthreads" LDFLAGS="$(pixman_LDFLAGS) -no-undefined -L$(ILIB:s/;/ -L/)" OBJDUMP="$(WRAPCMD) objdump" +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.IF "$(GUI)$(COM)"=="WNTGCC" +.EXPORT : PWD +.ENDIF + +.ELSE # WNT, not GCC +BUILD_DIR=pixman +BUILD_ACTION=$(GNUMAKE) -f Makefile.win32 +.ENDIF + +.ELIF "$(GUIBASE)"=="aqua" +# ----------- Native Mac OS X (Aqua/Quartz) -------------------------------- +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +CONFIGURE_FLAGS=--enable-static=yes --enable-shared=no CPPFLAGS="$(EXTRA_CDEFS)" +.IF "$(SYSBASE)"!="" +.IF "$(EXTRA_CFLAGS)"!="" +CONFIGURE_FLAGS+=CFLAGS="$(EXTRA_CFLAGS) $(EXTRA_CDEFS)" +.ENDIF # "$(EXTRA_CDEFS)"!="" +.ENDIF # "$(SYSBASE)"!="" +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) + +.ELSE +# ----------- Unix --------------------------------------------------------- +.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" +LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-z,noexecstack +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" + +.IF "$(OS)$(COM)"=="SOLARISC52" +LDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' +.ENDIF # "$(OS)$(COM)"=="SOLARISC52" + +.IF "$(SYSBASE)"!="" +pixman_CFLAGS+=-I$(SYSBASE)$/usr$/include -I$(SOLARINCDIR)$/external $(EXTRA_CFLAGS) +.IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX" +LDFLAGS+=-L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -L$(SOLARLIBDIR) -lpthread -ldl +.ENDIF +.ENDIF # "$(SYSBASE)"!="" + +.EXPORT: LDFLAGS + +.IF "$(COMNAME)"=="sunpro5" +pixman_CFLAGS+=-xc99=none +.ENDIF + +.IF "$(CPU)"=="I" +pixman_CFLAGS+=-march=i486 +.ENDIF + +pixman_CFLAGS+=-fPIC + +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS=--disable-shared +.ELSE +CONFIGURE_FLAGS=--disable-static +.ENDIF +CONFIGURE_FLAGS+=CFLAGS="$(pixman_CFLAGS)" +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.ENDIF + + + +# -------- All platforms -------------------------------------------- + +OUT2INC=pixman$/pixman-version.h \ + pixman$/pixman.h + +.IF "$(OS)"=="MACOSX" +OUT2LIB+=pixman$/.libs$/libpixman-1.a +.ELIF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +OUT2LIB+=pixman$/.libs$/*.a +.ELSE +OUT2LIB+=pixman$/release$/*.lib +.ENDIF +.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +OUT2LIB+=pixman$/.libs$/libpixman-1.a +.ELSE +OUT2LIB+=pixman$/.libs$/libpixman-1.so* +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/cairo/prj/build.lst b/cairo/prj/build.lst new file mode 100644 index 000000000000..a4d0da413fae --- /dev/null +++ b/cairo/prj/build.lst @@ -0,0 +1,4 @@ +lcairo cairo : ZLIB:zlib libpng soltools stlport NULL +lcairo cairo usr1 - all lcairo_mkout NULL +lcairo cairo\pixman nmake - all lcairo_pixman NULL +lcairo cairo\cairo nmake - all lcairo_cairo lcairo_pixman NULL diff --git a/cairo/prj/d.lst b/cairo/prj/d.lst new file mode 100644 index 000000000000..79ca424607a9 --- /dev/null +++ b/cairo/prj/d.lst @@ -0,0 +1,15 @@ +mkdir: %_DEST%\inc\cairo +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\cairo +..\%__SRC%\inc\cairo*.h %_DEST%\inc\cairo\cairo*.h +..\%__SRC%\inc\cairo*.h %_DEST%\inc\external\cairo\cairo*.h + +..\%__SRC%\lib\lib*.so %_DEST%\lib\lib*.so +..\%__SRC%\lib\lib*.so.* %_DEST%\lib\lib*.so.* +..\%__SRC%\lib\lib*.dylib %_DEST%\lib\lib*.dylib +..\%__SRC%\lib\lib*.a %_DEST%\lib\lib*.a +..\%__SRC%\lib\lib*.la %_DEST%\lib\lib*.la +..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib +..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll +..\%__SRC%\lib\*.dll %_DEST%\bin\*.dll +..\%__SRC%\bin\*.dll.a %_DEST%\lib\*.a diff --git a/curl/curl-7.19.7.patch b/curl/curl-7.19.7.patch new file mode 100644 index 000000000000..ca25c230762b --- /dev/null +++ b/curl/curl-7.19.7.patch @@ -0,0 +1,105 @@ +--- misc/curl-7.19.7/config.sub ++++ misc/build/curl-7.19.7/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/curl-7.19.7/configure 2009-11-04 13:26:02.000000000 +0100 ++++ misc/build/curl-7.19.7/configure 2009-11-18 14:17:25.453125000 +0100 +@@ -2735,8 +2735,8 @@ + + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compile='$CC -c $ADDCFLAGS $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $ADDCFLAGS $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +@@ -3783,8 +3783,8 @@ + ac_save_CPPFLAGS="$CPPFLAGS" + ac_ext=c + ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ++ac_compile='$CC -c $ADDCFLAGS $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ++ac_link='$CC -o conftest$ac_exeext $ADDCFLAGS $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' + ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +@@ -4434,15 +4434,15 @@ + CFLAGS=$ac_save_CFLAGS + elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then +- CFLAGS="-g -O2" ++ CFLAGS="$ADDCFLAGS -g -O2" + else +- CFLAGS="-g" ++ CFLAGS="$ADDCFLAGS -g" + fi + else + if test "$GCC" = yes; then +- CFLAGS="-O2" ++ CFLAGS="$ADDCFLAGS -O2" + else +- CFLAGS= ++ CFLAGS="$ADDCFLAGS" + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +--- misc/curl-7.19.7/include/curl/curl.h ++++ misc/build/curl-7.19.7/include/curl/curl.h +@@ -74,7 +74,7 @@ + require it! */ + #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ + defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ +- defined(ANDROID) ++ defined(__ANDROID__) + #include <sys/select.h> + #endif + +--- misc/curl-7.19.7/lib/setup.h 2009-10-28 21:21:58.000000000 +0100 ++++ misc/build/curl-7.19.7/lib/setup.h 2009-11-18 13:30:42.375000000 +0100 +@@ -193,6 +193,7 @@ + # include <winsock2.h> + # ifdef HAVE_WS2TCPIP_H + # include <ws2tcpip.h> ++# include <wspiapi.h> + # endif + # else + # ifdef HAVE_WINSOCK_H +--- misc/curl-7.19.7/ltmain.sh 2009-11-04 13:25:51.000000000 +0100 ++++ misc/build/curl-7.19.7/ltmain.sh 2009-11-18 14:37:08.046875000 +0100 +@@ -6188,13 +6188,13 @@ + # which has an extra 1 added just for fun + # + case $version_type in +- darwin|linux|osf|windows|none) ++ darwin|linux|osf|windows|freebsd-aout|freebsd-elf|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age="$number_minor" + revision="$number_revision" + ;; +- freebsd-aout|freebsd-elf|sunos) ++ sunos) + current="$number_major" + revision="$number_minor" + age="0" +@@ -6271,8 +6271,8 @@ + ;; + + freebsd-elf) +- major=".$current" +- versuffix=".$current" ++ major=.`expr $current - $age` ++ versuffix="$major" + ;; + + irix | nonstopux) diff --git a/curl/curl-7.19.7_mingw.patch b/curl/curl-7.19.7_mingw.patch new file mode 100644 index 000000000000..b0fa6736d901 --- /dev/null +++ b/curl/curl-7.19.7_mingw.patch @@ -0,0 +1,24 @@ +--- misc/curl-7.19.7/lib/setup.h 2009-10-29 05:21:58.000000000 +0900 ++++ misc/build/curl-7.19.7/lib/setup.h 2010-03-02 06:03:10.009500000 +0900 +@@ -40,6 +40,21 @@ + + #include "curl_config.h" + ++#ifdef __MINGW32__ ++#undef HAVE_DLFCN_H ++#define HAVE_GETHOSTBYADDR 1 ++#define HAVE_GETHOSTBYNAME 1 ++#undef HAVE_LIBZ ++#undef HAVE_NETDB_H ++#undef HAVE_POLL_H ++#undef HAVE_SYS_IOCTL_H ++#undef HAVE_SYS_POLL_H ++#undef HAVE_SYS_UIO_H ++#undef HAVE_TERMIOS_H ++#undef HAVE_TERMIO_H ++#undef HAVE_ZLIB_H ++#endif ++ + #else /* HAVE_CONFIG_H */ + + #ifdef _WIN32_WCE diff --git a/curl/curl-7.19.7_win.patch b/curl/curl-7.19.7_win.patch new file mode 100644 index 000000000000..bc59433b5ef1 --- /dev/null +++ b/curl/curl-7.19.7_win.patch @@ -0,0 +1,19 @@ +--- misc/curl-7.19.7/lib/Makefile.vc9 2009-11-04 13:35:39.000000000 +0100 ++++ misc/build/curl-7.19.7/lib/Makefile.vc9 2009-11-18 12:32:57.234375000 +0100 +@@ -46,13 +46,13 @@ + # Stem for static libs and DLLs + # + LIB_NAME = libcurl +-LIB_NAME_DEBUG = libcurld ++LIB_NAME_DEBUG = libcurl + + # + # Stem for DLL import libs + # +-IMPLIB_NAME = libcurl_imp +-IMPLIB_NAME_DEBUG = libcurld_imp ++IMPLIB_NAME = libcurl ++IMPLIB_NAME_DEBUG = libcurl + + !IFNDEF OPENSSL_PATH + OPENSSL_PATH = ../../openssl-0.9.8g diff --git a/curl/curl-aix.patch b/curl/curl-aix.patch new file mode 100644 index 000000000000..1ee1999c1a46 --- /dev/null +++ b/curl/curl-aix.patch @@ -0,0 +1,21 @@ +--- misc/curl-7.19.7/config.guess 2010-09-15 14:29:17.000000000 -0500 ++++ misc/build/curl-7.19.7/config.guess 2010-09-15 14:32:41.000000000 -0500 +@@ -548,7 +548,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[456]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -560,6 +560,9 @@ + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi ++ if [ "$IBM_REV" == "V7BETA" ]; then ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) diff --git a/curl/makefile.mk b/curl/makefile.mk new file mode 100644 index 000000000000..dfc5720e882a --- /dev/null +++ b/curl/makefile.mk @@ -0,0 +1,166 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +PRJ=. + +PRJNAME=so_curl +TARGET=so_curl + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_CURL)" == "YES" +all: + @echo "An already available installation of curl should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=curl-7.19.7 +TARFILE_MD5=ecb2e37e45c9933e2a963cabe03670ab +PATCH_FILES=\ + curl-7.19.7.patch \ + curl-aix.patch + +.IF "$(GUI)"=="WNT" + PATCH_FILES+=curl-7.19.7_win.patch + .IF "$(COM)"=="GCC" + PATCH_FILES+=curl-7.19.7_mingw.patch + .ENDIF +.ENDIF + + +#CONVERTFILES= \ + lib$/Makefile.vc6 + +#ADDITIONAL_FILES= lib$/config-os2.h lib$/Makefile.os2 + +.IF "$(GUI)"=="UNX" + +.IF "$(SYSBASE)"!="" +curl_CFLAGS+=-I$(SYSBASE)$/usr$/include +curl_LDFLAGS+=-L$(SYSBASE)$/usr$/lib +.ENDIF # "$(SYSBASE)"!="" + +.IF "$(OS)$(CPU)"=="SOLARISU" +curl_CFLAGS+:=$(ARCH_FLAGS) +curl_LDFLAGS+:=$(ARCH_FLAGS) +.ENDIF + +.IF "$(OS)"=="AIX" +curl_LDFLAGS+:=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) +.ENDIF + +CONFIGURE_DIR=.$/ +#relative to CONFIGURE_DIR +CONFIGURE_ACTION=.$/configure +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS=--disable-shared +.ELSE +CONFIGURE_FLAGS=--disable-static +.ENDIF +CONFIGURE_FLAGS+= --without-ssl --without-libidn --enable-ftp --enable-ipv6 --enable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict CPPFLAGS="$(curl_CFLAGS)" LDFLAGS="$(curl_LDFLAGS)" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_DIR=$(CONFIGURE_DIR)$/lib +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) + +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +OUT2LIB=$(BUILD_DIR)$/.libs$/libcurl.a +.ELSE +OUT2LIB=$(BUILD_DIR)$/.libs$/libcurl$(DLLPOST).4 +.ENDIF +.ENDIF # "$(GUI)"=="UNX" + + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +curl_CC=$(CC) -mthreads +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +curl_CC+=-shared-libgcc +.ENDIF +curl_LIBS=-lws2_32 -lwinmm +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +curl_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF +CONFIGURE_DIR=.$/ +#relative to CONFIGURE_DIR +CONFIGURE_ACTION=.$/configure +CONFIGURE_FLAGS= --without-ssl --enable-ftp --enable-ipv6 --disable-http --disable-gopher --disable-file --disable-ldap --disable-telnet --disable-dict --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(curl_CC)" CPPFLAGS="$(INCLUDE)" OBJDUMP="objdump" LDFLAGS="-L$(ILIB:s/;/ -L/)" LIBS="$(curl_LIBS)" +BUILD_DIR=$(CONFIGURE_DIR)$/lib +BUILD_ACTION=make +OUT2BIN=$(BUILD_DIR)$/.libs$/libcurl*.dll +OUT2LIB=$(BUILD_DIR)$/.libs$/libcurl*.a +.ELSE + +.IF "$(CCNUMVER)" > "001399999999" +EXCFLAGS="/EHa /Zc:wchar_t- /D "_CRT_SECURE_NO_DEPRECATE"" +.ELSE +EXCFLAGS="/EHsc /YX" +.ENDIF + +BUILD_DIR=.$/lib + +.IF "$(CPU)" == "I" +MACHINE=X86 +.ELSE +MACHINE=X64 +.ENDIF + +.IF "$(debug)"=="" +BUILD_ACTION=nmake -f Makefile.vc9 cfg=release-dll EXCFLAGS=$(EXCFLAGS) MACHINE=$(MACHINE) +.ELSE +BUILD_ACTION=nmake -f Makefile.vc9 cfg=debug-dll EXCFLAGS=$(EXCFLAGS) MACHINE=$(MACHINE) +.ENDIF + +OUT2BIN=$(BUILD_DIR)$/libcurl.dll +OUT2LIB=$(BUILD_DIR)$/libcurl.lib + +.ENDIF +.ENDIF # "$(GUI)"=="WNT" + +OUT2INC= \ + include$/curl$/easy.h \ + include$/curl$/multi.h \ + include$/curl$/curl.h \ + include$/curl$/curlver.h \ + include$/curl$/types.h \ + include$/curl$/stdcheaders.h \ + include$/curl$/mprintf.h \ + include$/curl$/curlbuild.h \ + include$/curl$/curlrules.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/curl/prj/build.lst b/curl/prj/build.lst new file mode 100644 index 000000000000..d3aab4781144 --- /dev/null +++ b/curl/prj/build.lst @@ -0,0 +1,3 @@ +xc curl : stlport external NULL +xc curl usr1 - all xc_mkout NULL +xc curl nmake - all xc_curl NULL diff --git a/curl/prj/d.lst b/curl/prj/d.lst new file mode 100644 index 000000000000..162f4850d453 --- /dev/null +++ b/curl/prj/d.lst @@ -0,0 +1,15 @@ +mkdir: %_DEST%\inc\external\curl +..\%__SRC%\inc\easy.h %_DEST%\inc\external\curl\easy.h +..\%__SRC%\inc\curlver.h %_DEST%\inc\external\curl\curlver.h +..\%__SRC%\inc\curl.h %_DEST%\inc\external\curl\curl.h +..\%__SRC%\inc\mprintf.h %_DEST%\inc\external\curl\mprintf.h +..\%__SRC%\inc\multi.h %_DEST%\inc\external\curl\multi.h +..\%__SRC%\inc\stdcheaders.h %_DEST%\inc\external\curl\stdcheaders.h +..\%__SRC%\inc\types.h %_DEST%\inc\external\curl\types.h +..\%__SRC%\inc\curlbuild.h %_DEST%\inc\external\curl\curlbuild.h +..\%__SRC%\inc\curlrules.h %_DEST%\inc\external\curl\curlrules.h + +..\%__SRC%\bin\libcurl*.dll %_DEST%\bin\*.dll +..\%__SRC%\lib\libcurl.* %_DEST%\lib\libcurl.* + +linklib: libcurl.*.*
\ No newline at end of file diff --git a/expat/expat-2.0.1.patch b/expat/expat-2.0.1.patch new file mode 100644 index 000000000000..f168297ac03e --- /dev/null +++ b/expat/expat-2.0.1.patch @@ -0,0 +1,105 @@ +--- misc/expat-2.0.1/conftools/config.sub ++++ misc/build/expat-2.0.1/conftools/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/expat-2.0.1/lib/makefile.mk Wed Aug 20 14:33:55 2008 ++++ misc/build/expat-2.0.1/lib/makefile.mk Wed Aug 20 14:26:42 2008 +@@ -1 +1,90 @@ +-dummy ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# <http://www.openoffice.org/license.html> ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=expat ++TARGET=expat ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++VISIBILITY_HIDDEN=TRUE ++ ++# --- Settings ----------------------------------------------------- ++.INCLUDE : settings.mk ++# --- Files -------------------------------------------------------- ++ ++CFLAGS+=-I.. ++ ++.IF "$(OS)"=="WNT" ++CDEFS+=-DCOMPILED_FROM_DSP ++.ELSE ++CDEFS+=-DHAVE_EXPAT_CONFIG_H ++.ENDIF ++ ++.IF "$(OS)"=="MACOSX" && "$(SYSBASE)"!="" ++CDEFS+=-DHAVE_MEMMOVE -DHAVE_BCOPY ++.ENDIF # "$(OS)"=="MACOSX" ++ ++SLOFILES=$(SLO)$/xmlparse.obj \ ++ $(SLO)$/xmlrole.obj \ ++ $(SLO)$/xmltok.obj ++ ++SECOND_BUILD=UNICODE ++UNICODE_SLOFILES=$(SLO)$/xmlparse.obj ++UNICODECDEFS+=-DXML_UNICODE ++ ++LIB1ARCHIV=$(LB)$/libascii_$(TARGET)_xmlparse.a ++LIB1TARGET=$(SLB)$/ascii_$(TARGET)_xmlparse.lib ++LIB1OBJFILES=$(SLO)$/xmlparse.obj ++ ++LIB2ARCHIV=$(LB)$/lib$(TARGET)_xmlparse.a ++LIB2TARGET=$(SLB)$/$(TARGET)_xmlparse.lib ++LIB2OBJFILES =$(REAL_UNICODE_SLOFILES) ++ ++LIB3ARCHIV=$(LB)$/lib$(TARGET)_xmltok.a ++LIB3TARGET=$(SLB)$/$(TARGET)_xmltok.lib ++LIB3OBJFILES=$(SLO)$/xmlrole.obj $(SLO)$/xmltok.obj ++ ++.IF "$(BUILD_X64)"!="" ++# ---------------- X64 stuff special --------------------- ++# use UNICODE only because shell/shlxthandler ++# doesn't link against ascii_expat_xmlparse ++#--------------------------------------------------------- ++SLOFILES_X64=$(SLO_X64)$/xmlparse.obj \ ++ $(SLO_X64)$/xmlrole.obj \ ++ $(SLO_X64)$/xmltok.obj ++CDEFS_X64+=-DXML_UNICODE -DCOMPILED_FROM_DSP ++CFLAGS_X64+=-I.. ++LIB1TARGET_X64=$(SLB_X64)$/$(TARGET)_xmlparse.lib ++LIB1OBJFILES_X64=$(SLO_X64)$/xmlparse.obj ++LIB2TARGET_X64=$(SLB_X64)$/$(TARGET)_xmltok.lib ++LIB2OBJFILES_X64=$(SLO_X64)$/xmlrole.obj $(SLO_X64)$/xmltok.obj ++.ENDIF # "$(BUILD_X64)"!="" ++ ++# --- Targets ------------------------------------------------------ ++.INCLUDE : set_wntx64.mk ++.INCLUDE : target.mk ++.INCLUDE : tg_wntx64.mk diff --git a/expat/expat-winapi.patch b/expat/expat-winapi.patch new file mode 100644 index 000000000000..dfac519f2ed2 --- /dev/null +++ b/expat/expat-winapi.patch @@ -0,0 +1,13 @@ +--- misc/expat-2.0.1/lib/expat_external.h 2009-11-16 08:53:17.375000000 +0000 ++++ misc/build/expat-2.0.1/lib/expat_external.h 2009-11-16 08:53:34.703125000 +0000 +@@ -7,10 +7,6 @@ + + /* External API definitions */ + +-#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__) +-#define XML_USE_MSC_EXTENSIONS 1 +-#endif +- + /* Expat tries very hard to make the API boundary very specifically + defined. There are two macros defined to control this boundary; + each of these can be defined before including this header to diff --git a/expat/makefile.mk b/expat/makefile.mk new file mode 100644 index 000000000000..857468e4b4c7 --- /dev/null +++ b/expat/makefile.mk @@ -0,0 +1,69 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=so_expat +TARGET=so_expat + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_EXPAT)" == "YES" +all: + @echo "An already available installation of expat should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=expat-2.0.1 +TARFILE_MD5=ee8b492592568805593f81f8cdf2a04c +ADDITIONAL_FILES=lib$/makefile.mk +PATCH_FILES=expat-2.0.1.patch \ + expat-winapi.patch + +CONFIGURE_DIR= +.IF "$(OS)"=="WNT" +CONFIGURE_ACTION= +.ELSE +CONFIGURE_ACTION=.$/configure +.ENDIF + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_DIR=lib +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/expat/prj/build.lst b/expat/prj/build.lst new file mode 100644 index 000000000000..9ae28720b763 --- /dev/null +++ b/expat/prj/build.lst @@ -0,0 +1,3 @@ +ep expat : soltools NULL +ep expat usr1 - all ep_mkout NULL +ep expat nmake - all ep_expat NULL diff --git a/expat/prj/d.lst b/expat/prj/d.lst new file mode 100644 index 000000000000..887a0816a00f --- /dev/null +++ b/expat/prj/d.lst @@ -0,0 +1,15 @@ +mkdir: %_DEST%\inc\external\expat +mkdir: %_DEST%\lib\x64 +..\%__SRC%\misc\build\expat-2.0.1\lib\expat.h %_DEST%\inc\external\expat.h +..\%__SRC%\misc\build\expat-2.0.1\lib\expat_external.h %_DEST%\inc\external\expat_external.h +..\%__SRC%\slb\expat_xmltok.lib %_DEST%\lib\expat_xmltok.lib +..\%__SRC%\slb\expat_xmlparse.lib %_DEST%\lib\expat_xmlparse.lib +..\%__SRC%\slb\ascii_expat_xmlparse.lib %_DEST%\lib\ascii_expat_xmlparse.lib +..\%__SRC%\lib\libexpat_xmltok.a %_DEST%\lib\libexpat_xmltok.a +..\%__SRC%\lib\libexpat_xmlparse.a %_DEST%\lib\libexpat_xmlparse.a +..\%__SRC%\lib\libascii_expat_xmlparse.a %_DEST%\lib\libascii_expat_xmlparse.a +..\%__SRC%\misc\_ooo_st_expat_xmltok.pdb %_DEST%\lib\_ooo_st_expat_xmltok.pdb +..\%__SRC%\misc\_ooo_st_expat_xmlparse.pdb %_DEST%\lib\_ooo_st_expat_xmlparse.pdb +..\%__SRC%\slb\x64\expat_xmltok.lib %_DEST%\lib\x64\expat_xmltok.lib +..\%__SRC%\slb\x64\expat_xmlparse.lib %_DEST%\lib\x64\expat_xmlparse.lib + diff --git a/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch b/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch new file mode 100644 index 000000000000..142ea346f2d0 --- /dev/null +++ b/gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch @@ -0,0 +1,459 @@ +--- misc/gdk-pixbuf-2.23.0/config.h.win32 2011-03-24 04:59:07.000000000 +0100 ++++ misc/build/gdk-pixbuf-2.23.0/config.h.win32 2011-03-22 01:58:24.296875000 +0100 +@@ -1 +1,126 @@ +-dummy ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++#undef ENABLE_NLS ++ ++/* Define if gio can sniff image data */ ++#undef GDK_PIXBUF_USE_GIO_MIME ++ ++/* The prefix for our gettext translation domains. */ ++#define GETTEXT_PACKAGE "intl.dll" ++ ++/* Define to 1 if you have the `bind_textdomain_codeset' function. */ ++#undef HAVE_BIND_TEXTDOMAIN_CODESET ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++#undef HAVE_CFLOCALECOPYCURRENT ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++#undef HAVE_CFPREFERENCESCOPYAPPVALUE ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++#undef HAVE_DCGETTEXT ++ ++/* Define to 1 if you have the <dlfcn.h> header file. */ ++#undef HAVE_DLFCN_H ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++#define HAVE_GETTEXT 1 ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#undef HAVE_INTTYPES_H ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#undef HAVE_MEMORY_H ++ ++/* Define to 1 is libjpeg supports progressive JPEG */ ++#define HAVE_PROGRESSIVE_JPEG 1 ++ ++/* Define to 1 if sigsetjmp is available */ ++#undef HAVE_SIGSETJMP ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#undef HAVE_STDINT_H ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#undef HAVE_STRING_H ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#undef HAVE_SYS_STAT_H ++ ++/* Define to 1 if sys/sysinfo.h is available */ ++#undef HAVE_SYS_SYSINFO_H ++ ++/* Define to 1 if sys/systeminfo.h is available */ ++#undef HAVE_SYS_SYSTEMINFO_H ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#undef HAVE_SYS_TYPES_H ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#undef HAVE_UNISTD_H ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#undef LT_OBJDIR ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#undef NO_MINUS_C_MINUS_O ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#undef PACKAGE_BUGREPORT ++ ++/* Define to the full name of this package. */ ++#undef PACKAGE_NAME ++ ++/* Define to the full name and version of this package. */ ++#undef PACKAGE_STRING ++ ++/* Define to the one symbol short name of this package. */ ++#undef PACKAGE_TARNAME ++ ++/* Define to the home page for this package. */ ++#undef PACKAGE_URL ++ ++/* Define to the version of this package. */ ++#undef PACKAGE_VERSION ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#undef STDC_HEADERS ++ ++/* Define to 1 if gmodule works and should be used */ ++#undef USE_GMODULE ++ ++/* Whether to load modules via .la files rather than directly */ ++#undef USE_LA_MODULES ++ ++/* Define to 1 if medialib is available and should be used */ ++#undef USE_MEDIALIB ++ ++/* Define to 1 if medialib 2.5 is available */ ++#undef USE_MEDIALIB25 ++ ++/* Define to 1 if XXM is available and should be used */ ++#undef USE_MMX ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++#undef _FILE_OFFSET_BITS ++ ++/* Define for large files, on AIX-style hosts. */ ++#undef _LARGE_FILES ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++#undef const +--- misc/gdk-pixbuf-2.23.0/gdk-pixbuf/io-png.c 2010-07-10 02:54:35.000000000 +0200 ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/io-png.c 2011-03-22 02:18:55.515625000 +0100 +@@ -27,6 +27,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <png.h> ++#include <pngstruct.h> + #include "gdk-pixbuf-private.h" + + +@@ -183,7 +184,7 @@ + error_msg); + } + +- longjmp (png_save_ptr->jmpbuf, 1); ++ longjmp (png_save_ptr->png_jmpbuf, 1); + } + + static void +@@ -287,7 +288,7 @@ + return NULL; + } + +- if (setjmp (png_ptr->jmpbuf)) { ++ if (setjmp (png_ptr->png_jmpbuf)) { + g_free (rows); + + if (pixbuf) +@@ -459,7 +460,7 @@ + return NULL; + } + +- if (setjmp (lc->png_read_ptr->jmpbuf)) { ++ if (setjmp (lc->png_read_ptr->png_jmpbuf)) { + if (lc->png_info_ptr) + png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL); + g_free(lc); +@@ -531,7 +532,7 @@ + lc->error = error; + + /* Invokes our callbacks as needed */ +- if (setjmp (lc->png_read_ptr->jmpbuf)) { ++ if (setjmp (lc->png_read_ptr->png_jmpbuf)) { + lc->error = NULL; + return FALSE; + } else { +@@ -769,7 +770,7 @@ + error_msg); + } + +- longjmp (png_read_ptr->jmpbuf, 1); ++ longjmp (png_read_ptr->png_jmpbuf, 1); + } + + static void +@@ -978,7 +979,7 @@ + success = FALSE; + goto cleanup; + } +- if (setjmp (png_ptr->jmpbuf)) { ++ if (setjmp (png_ptr->png_jmpbuf)) { + success = FALSE; + goto cleanup; + } +--- misc/gdk-pixbuf-2.23.0/gdk-pixbuf/makefile.msc 2010-06-25 23:40:10.000000000 +0200 ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/makefile.msc 2011-03-24 06:13:30.515625000 +0100 +@@ -1,9 +1,19 @@ +-TOP = ..\.. + PRJ_TOP = .. ++GLIB_TOP = + PACKAGE = gdk_pixbuf + PKG_VER = $(GDK_PIXBUF_VER) ++GLIB_INC = -I$(OUTDIR)\inc\external\glib-2.0 ++LIBPNG_INC = -I$(OUTDIR)\inc\external\libpng ++LIBJPEG_INC = -I$(OUTDIR)\inc\external\libjpeg ++ ++INTL_LIB = $(OUTDIR)\lib\intl.lib ++GLIB_LIB = $(OUTDIR)\lib\glib-2.0.lib $(OUTDIR)\lib\gobject-2.0.lib $(OUTDIR)\lib\gmodule-2.0.lib $(OUTDIR)\lib\gio-2.0.lib $(OUTDIR)\lib\gthread-2.0.lib ++LIBJPEG_LIB = $(OUTDIR)\lib\jpeg.lib ++LIBPNG_LIB = $(OUTDIR)\lib\libpng.lib ++ZLIB_LIB = $(OUTDIR)\lib\zlib.lib ++GDIPLUS_LIB = gdiplus.lib + +-!INCLUDE $(TOP)/glib/build/win32/make.msc ++!INCLUDE $(OUTDIR)\inc\external\glib-2.0\make.msc + + !IFNDEF PERL + PERL = perl +@@ -13,22 +23,22 @@ + + # -DINCLUDE_gdiplus _replaces_ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff + # but not yet -DINCLUDE_png +-##USEGDIP=1 ++USEGDIP=1 + # to get _working_ include modules we need respective defines ... + # + BUILT_IN_FORMATS = \ + !IFDEF USEGDIP + -DINCLUDE_gdiplus \ + !ELSE +- -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg -DINCLUDE_tiff \ ++ -DINCLUDE_bmp -DINCLUDE_gif -DINCLUDE_ico -DINCLUDE_jpeg \ + !ENDIF + -DINCLUDE_png \ + -DINCLUDE_xpm -DINCLUDE_wbmp \ + -DINCLUDE_pnm -DINCLUDE_ras + +-PKG_CFLAGS = -FImsvc_recommended_pragmas.h \ ++PKG_CFLAGS = -FI$(PRJ_TOP)\msvc_recommended_pragmas.h \ + !IFNDEF USEGDIP +- $(JPEG_CFLAGS) $(TIFF_CFLAGS) \ ++ $(JPEG_CFLAGS) \ + !ENDIF + -I. -I.. $(GLIB_CFLAGS) \ + $(BUILT_IN_FORMATS) \ +@@ -39,13 +49,14 @@ + -UUSE_GMODULE # use built-in + # -DUSE_GMODULE -DPIXBUF_LIBDIR=\".\" + +-PKG_LINK = $(GLIB_LIBS) \ +-!IFNDEF USEGDIP +- $(TIFF_LIBS) $(JPEG_LIBS) \ +-!ENDIF +- $(PNG_LIBS) $(INTL_LIBS) \ +- pixops\pixops.lib \ +- ++PKG_LINK = $(INTL_LIB) \ ++ $(GLIB_LIB) \ ++ $(LIBPNG_LIB) \ ++ $(LIBJPEG_LIB) \ ++ $(ZLIB_LIB) \ ++ $(GDIPLUS_LIB) \ ++ pixops\pixops.lib ++ + OBJECTS_NON_NATIVE = \ + io-bmp.obj \ + io-gif.obj \ +@@ -95,13 +106,13 @@ + gdk-pixbuf-transform.h + + gdk-pixbuf-marshal.h: gdk-pixbuf-marshal.list +- ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h ++ $(OUTDIR)\bin\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --header >gdk-pixbuf-marshal.h + + gdk-pixbuf-marshal.c: gdk-pixbuf-marshal.h gdk-pixbuf-marshal.list +- ..\..\glib\gobject\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c ++ $(OUTDIR)\bin\glib-genmarshal --prefix=_gdk_pixbuf_marshal gdk-pixbuf-marshal.list --body >gdk-pixbuf-marshal.c + +-gdk-pixbuf-alias.h: gdk-pixbuf.symbols +- perl makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h ++#gdk-pixbuf-alias.h: gdk-pixbuf.symbols ++# perl makegdkpixbufalias.pl < gdk-pixbuf.symbols > gdk-pixbuf-alias.h + + gdk_pixbuf.def: gdk-pixbuf.symbols makefile.msc + echo EXPORTS > gdk_pixbuf.def +@@ -109,14 +120,15 @@ + -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= -DG_GNUC_PRINTF=;G_GNUC_PRINTF \ + gdk-pixbuf.symbols >> gdk_pixbuf.def + +-gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols +- perl makegdkpixbufalias.pl -def < gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c ++#gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols ++# perl makegdkpixbufalias.pl -def < gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c + + ## common stuff + + INSTALL = copy + +-CFLAGS = -I. -DHAVE_CONFIG_H ++CFLAGS = -I. $(SOLARINC) $(GLIB_INC) $(LIBPNG_INC) $(LIBJPEG_INC) \ ++ -DHAVE_CONFIG_H -DGDK_PIXBUF_LOCALEDIR="\"locale_dummy\"" + + sub-pixops : + cd pixops +@@ -126,19 +138,19 @@ + ## targets + all : \ + $(PRJ_TOP)\config.h \ +- gdk-pixbuf-alias.h \ +- gdk-pixbuf-aliasdef.c \ ++# gdk-pixbuf-alias.h \ ++# gdk-pixbuf-aliasdef.c \ + gdk-pixbuf-marshal.h \ + gdk-pixbuf-marshal.c \ + sub-pixops \ + lib$(PACKAGE)-$(PKG_VER)-0.dll \ +- $(PACKAGE)-$(PKG_VER)s.lib \ ++ $(PACKAGE)-$(PKG_VER)s.lib + # make-inline-pixbuf.exe \ +- gdk-pixbuf-csource.exe \ +- test-gdk-pixbuf.exe ++# gdk-pixbuf-csource.exe \ ++# test-gdk-pixbuf.exe + + $(PACKAGE).res : $(PACKAGE).rc +- rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc ++ rc -I $(SOLARINCLUDES) -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc + + $(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS) + lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) pixops\pixops.lib +@@ -160,7 +172,7 @@ + # gdk-pixbuf-enum-types.h + # + gdk-pixbuf-enum-types.h : $(gdk_pixbuf_headers) makefile.msc +- $(PERL) $(GLIB)\gobject\glib-mkenums \ ++ perl $(OUTDIR)\bin\glib-mkenums \ + --fhead "#ifndef __GDK_PIXBUF__ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n" \ + --fprod "/* enumerations from \"@filename@\" */\n" \ + --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ +@@ -171,8 +183,8 @@ + # gdk-pixbuf-enum-types.c + # + gdk-pixbuf-enum-types.c: $(gdk_pixbuf_headers) makefile.msc +- $(PERL) $(GLIB)\gobject\glib-mkenums \ +- --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \ ++ perl $(OUTDIR)\bin\glib-mkenums \ ++ --fhead "#include <gdk-pixbuf.h>" \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ +@@ -188,10 +200,10 @@ + $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $< + + clean:: +- del config.h +- del gdk-pixbuf-marshal.h +- del gdk-pixbuf-marshal.c +- del gdk-pixbuf-alaias.h ++ rm config.h ++ rm gdk-pixbuf-marshal.h ++ rm gdk-pixbuf-marshal.c ++ rm gdk-pixbuf-alaias.h + + + +--- misc/gdk-pixbuf-2.23.0/gdk-pixbuf/pixops/makefile.msc 2010-06-25 23:40:10.000000000 +0200 ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/pixops/makefile.msc 2011-03-24 06:03:59.062500000 +0100 +@@ -1,10 +1,11 @@ +-TOP = ../../.. +-PACKAGE = pixops + PRJ_TOP = ..\.. ++PACKAGE = pixops ++GLIB_TOP = ++GLIB_INC = -I$(OUTDIR)\inc\external\glib-2.0 + +-!INCLUDE $(TOP)/glib/build/win32/make.msc ++!INCLUDE $(OUTDIR)\inc\external\glib-2.0\make.msc + +-PKG_CFLAGS = -I.. $(GLIB_CFLAGS) ++PKG_CFLAGS = -I.. $(SOLARINC) $(GLIB_INC) $(GLIB_CFLAGS) + + OBJECTS = \ + pixops.obj \ +@@ -50,16 +51,16 @@ + $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $< + + clean:: +- del config.h +- del *.exe +- del *.obj +- del *.dll +- del *.lib +- del *.err +- del *.map +- del *.sym +- del *.exp +- del *.lk1 +- del *.mk1 +- del *.pdb +- del *.ilk ++ rm config.h ++ rm *.exe ++ rm *.obj ++ rm *.dll ++ rm *.lib ++ rm *.err ++ rm *.map ++ rm *.sym ++ rm *.exp ++ rm *.lk1 ++ rm *.mk1 ++ rm *.pdb ++ rm *.ilk +--- misc/gdk-pixbuf-2.23.0/gdk-pixbuf/pixops/pixops.c 2010-06-25 23:40:10.000000000 +0200 ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/pixops/pixops.c 2011-03-22 01:58:24.281250000 +0100 +@@ -21,7 +21,7 @@ + */ + #include "config.h" + #include <math.h> +-#include <glib.h> ++#include <glib-2.0\glib.h> + + #include "pixops.h" + #include "pixops-internal.h" +--- misc/gdk-pixbuf-2.23.0/msvc_recommended_pragmas.h 2011-03-24 04:59:07.625000000 +0100 ++++ misc/build/gdk-pixbuf-2.23.0/msvc_recommended_pragmas.h 2011-03-22 01:58:24.359375000 +0100 +@@ -1 +1,31 @@ +-dummy ++#ifndef _MSC_VER ++#pragma error "This header is for Microsoft VC only." ++#endif /* _MSC_VER */ ++ ++/* Make MSVC more pedantic, this is a recommended pragma list ++ * from _Win32_Programming_ by Rector and Newcomer. ++ */ ++#pragma warning(error:4002) /* too many actual parameters for macro */ ++#pragma warning(error:4003) /* not enough actual parameters for macro */ ++#pragma warning(1:4010) /* single-line comment contains line-continuation character */ ++#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */ ++#pragma warning(1:4016) /* no function return type; using int as default */ ++#pragma warning(error:4020) /* too many actual parameters */ ++#pragma warning(error:4021) /* too few actual parameters */ ++#pragma warning(error:4027) /* function declared without formal parameter list */ ++#pragma warning(error:4029) /* declared formal parameter list different from definition */ ++#pragma warning(error:4033) /* 'function' must return a value */ ++#pragma warning(error:4035) /* 'function' : no return value */ ++#pragma warning(error:4045) /* array bounds overflow */ ++#pragma warning(error:4047) /* different levels of indirection */ ++#pragma warning(error:4049) /* terminating line number emission */ ++#pragma warning(error:4053) /* An expression of type void was used as an operand */ ++#pragma warning(error:4071) /* no function prototype given */ ++#pragma warning(disable:4101) /* unreferenced local variable */ ++#pragma warning(error:4150) ++ ++#pragma warning(disable:4244) /* No possible loss of data warnings */ ++#pragma warning(disable:4305) /* No truncation from int to char warnings */ ++ ++/* work around Microsoft's premature attempt to deprecate the C-Library */ ++#pragma warning(disable:4996) /* This function or variable may be unsafe. */ diff --git a/gdk-pixbuf/gdk-pixbuf-2.23.0.patch b/gdk-pixbuf/gdk-pixbuf-2.23.0.patch new file mode 100644 index 000000000000..fccd992da74f --- /dev/null +++ b/gdk-pixbuf/gdk-pixbuf-2.23.0.patch @@ -0,0 +1,171 @@ +--- misc/gdk-pixbuf-2.23.0/configure 2010-12-23 15:18:11.000000000 +0100 ++++ misc/build/gdk-pixbuf-2.23.0/configure 2011-06-14 15:20:05.000000000 +0200 +@@ -16839,7 +16839,7 @@ + + + +- ++if false; then + + if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then +@@ -17158,14 +17158,18 @@ + + + rm -f conf.glibtest +- ++else ++ GLIB_MKENUMS=glib-mkenums ++ GLIB_GENMARSHAL=glib-genmarshal ++ GOBJECT_QUERY=gobject-query ++fi + + # See if it's safe to turn G_DISABLE_DEPRECATED on. +-GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.[^.]*\$//"` +-GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo 2.25.15 | sed "s/\.[^.]*\$//"` +-if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then ++#GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.[^.]*\$//"` ++#GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo 2.25.15 | sed "s/\.[^.]*\$//"` ++#if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then + CFLAGS="-DG_DISABLE_DEPRECATED $CFLAGS" +-fi ++#fi + + CFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CFLAGS" + +@@ -17801,7 +17805,7 @@ + for l in libpng libpng14 libpng12 libpng13 libpng10 ; do + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $l" >&5 + $as_echo_n "checking for $l... " >&6; } +- if $PKG_CONFIG --exists $l ; then ++ if false ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + PNG='png' +@@ -18206,8 +18210,8 @@ + $as_echo_n "checking if gio can sniff png... " >&6; } + gtk_save_LIBS="$LIBS" + gtk_save_CFLAGS="$CFLAGS" +- LIBS="`$PKG_CONFIG --libs gio-2.0`" +- CFLAGS="`$PKG_CONFIG --cflags gio-2.0`" ++ #LIBS="`$PKG_CONFIG --libs gio-2.0`" ++ #CFLAGS="`$PKG_CONFIG --cflags gio-2.0`" + if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +@@ -18622,8 +18626,8 @@ + GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0 gio-2.0" + GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB" + GDK_PIXBUF_EXTRA_CFLAGS= +-GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS" +-GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS" ++GDK_PIXBUF_DEP_LIBS="$GDK_PIXBUF_EXTRA_LIBS" ++GDK_PIXBUF_DEP_CFLAGS="$GDK_PIXBUF_EXTRA_CFLAGS" + + + +@@ -18640,7 +18644,7 @@ + GDK_PIXBUF_XLIB_EXTRA_CFLAGS= + GDK_PIXBUF_XLIB_EXTRA_LIBS= + +-if $PKG_CONFIG --exists x11; then ++if false; then + if true; then + USE_X11_TRUE= + USE_X11_FALSE='#' +--- misc/gdk-pixbuf-2.23.0/gdk-pixbuf/gdk-pixbuf-util.c ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/gdk-pixbuf-util.c +@@ -23,7 +23,9 @@ + + #include "config.h" + #include <string.h> ++#ifdef ENABLE_NLS + #include <libintl.h> ++#endif + + #include "gdk-pixbuf-transform.h" + #include "gdk-pixbuf-private.h" +@@ -336,15 +338,19 @@ + const gchar * + gdk_pixbuf_gettext (const gchar *msgid) + { ++#ifdef ENABLE_NLS + static gsize gettext_initialized = FALSE; + + if (G_UNLIKELY (g_once_init_enter (&gettext_initialized))) { + bindtextdomain (GETTEXT_PACKAGE, GDK_PIXBUF_LOCALEDIR); + #ifdef HAVE_BIND_TEXTDOMAIN_CODESET + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + #endif + g_once_init_leave (&gettext_initialized, TRUE); + } + + return g_dgettext (GETTEXT_PACKAGE, msgid); ++#else ++ return msgid; ++#endif + } +From: Maarten Bosmans <mkbosmans@gmail.com> +Date: Mon, 24 Jan 2011 10:39:22 +0000 +Subject: Use png_jmpbuf macro + +This makes the png loader compatible with libpng 1.5 + +diff --git a/gdk-pixbuf/io-png.c b/gdk-pixbuf/io-png.c +index 79c81fd..76f3304 100644 +--- misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/io-png.c ++++ misc/build/gdk-pixbuf-2.23.0/gdk-pixbuf/io-png.c +@@ -183,7 +183,7 @@ png_simple_error_callback(png_structp png_save_ptr, + error_msg); + } + +- longjmp (png_save_ptr->jmpbuf, 1); ++ longjmp (png_jmpbuf (png_save_ptr), 1); + } + + static void +@@ -287,7 +287,7 @@ gdk_pixbuf__png_image_load (FILE *f, GError **error) + return NULL; + } + +- if (setjmp (png_ptr->jmpbuf)) { ++ if (setjmp (png_jmpbuf (png_ptr))) { + g_free (rows); + + if (pixbuf) +@@ -459,7 +459,7 @@ gdk_pixbuf__png_image_begin_load (GdkPixbufModuleSizeFunc size_func, + return NULL; + } + +- if (setjmp (lc->png_read_ptr->jmpbuf)) { ++ if (setjmp (png_jmpbuf (lc->png_read_ptr))) { + if (lc->png_info_ptr) + png_destroy_read_struct(&lc->png_read_ptr, NULL, NULL); + g_free(lc); +@@ -531,7 +531,7 @@ gdk_pixbuf__png_image_load_increment(gpointer context, + lc->error = error; + + /* Invokes our callbacks as needed */ +- if (setjmp (lc->png_read_ptr->jmpbuf)) { ++ if (setjmp (png_jmpbuf (lc->png_read_ptr))) { + lc->error = NULL; + return FALSE; + } else { +@@ -769,7 +769,7 @@ png_error_callback(png_structp png_read_ptr, + error_msg); + } + +- longjmp (png_read_ptr->jmpbuf, 1); ++ longjmp (png_jmpbuf (png_read_ptr), 1); + } + + static void +@@ -978,7 +978,7 @@ static gboolean real_save_png (GdkPixbuf *pixbuf, + success = FALSE; + goto cleanup; + } +- if (setjmp (png_ptr->jmpbuf)) { ++ if (setjmp (png_jmpbuf (png_ptr))) { + success = FALSE; + goto cleanup; + } diff --git a/gdk-pixbuf/makefile.mk b/gdk-pixbuf/makefile.mk new file mode 100644 index 000000000000..74f32012f63a --- /dev/null +++ b/gdk-pixbuf/makefile.mk @@ -0,0 +1,124 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=gdk-pixbuf +TARGET=so_gdk-pixbuf + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_GDKPIXBUF)" == "YES" +all: + @echo "An already available installation of gdk-pixbuf should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +GDKPIXBUFVERSION=2.23.0 + +TARFILE_NAME=$(PRJNAME)-$(GDKPIXBUFVERSION) +TARFILE_MD5=a7d6c5f2fe2d481149ed3ba807b5c043 + +.IF "$(OS)"=="MACOSX" + +PATCH_FILES=gdk-pixbuf-2.23.0.patch +CONFIGURE_DIR= +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \ + BASE_DEPENDENCIES_CFLAGS="-I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \ + BASE_DEPENDENCIES_LIBS=" " \ + GDK_PIXBUF_XLIB_DEP_CFLAGS="-I$(SOLARINCDIR)$/external -I$(SOLARINCDIR)$/external/glib-2.0" \ + GDK_PIXBUF_XLIB_DEP_LIBS=" " \ + ./configure --disable-dependency-tracking $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) \ + CPPFLAGS="$(EXTRA_CDEFS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/libpng -I$(SOLARINCDIR)/external/jpeg" \ + CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" \ + LDFLAGS="$(EXTRA_LINKFLAGS) -L$(SOLARLIBDIR) -lgobject-2.0 -lgio-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0" \ + --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \ + --disable-nls \ + --disable-modules \ + --with-included-loaders=ani,icns,pcx,ras,tga,png,pnm,wbmp,xbm,xpm,qtif,bmp,gif,ico,jpeg \ + --disable-glibtest --without-libtiff --without-libjasper + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) gio_can_sniff=no +.ENDIF + +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) +BUILD_DIR=$(CONFIGURE_DIR) + +EXTRPATH=LOADER +OUT2LIB+=gdk-pixbuf/.libs/libgdk_pixbuf-2.0.0.dylib + +OUT2INC+=gdk-pixbuf/gdk-pixbuf-animation.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-features.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-marshal.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-core.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-io.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-simple-anim.h +OUT2INC+=gdk-pixbuf/gdk-pixdata.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-enum-types.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-loader.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-transform.h + +.ELIF "$(OS)"=="WNT" + +PATCH_FILES=gdk-pixbuf-2.23.0-win32.patch +ADDITIONAL_FILES=config.h.win32 glib-mkenums.pl msvc_recommended_pragmas.h +CONFIGURE_DIR= +CONFIGURE_ACTION= +BUILD_DIR=./gdk-pixbuf +BUILD_ACTION=nmake -f makefile.msc + +OUT2LIB+=gdk-pixbuf/gdk_pixbuf-2.0.lib + +OUT2BIN+=gdk-pixbuf/libgdk_pixbuf-2.0-0.dll + +OUT2INC+=gdk-pixbuf/gdk-pixbuf-animation.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-features.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-marshal.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-core.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-io.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-simple-anim.h +OUT2INC+=gdk-pixbuf/gdk-pixdata.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-enum-types.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-loader.h +OUT2INC+=gdk-pixbuf/gdk-pixbuf-transform.h + +.ELSE + +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/gdk-pixbuf/prj/build.lst b/gdk-pixbuf/prj/build.lst new file mode 100644 index 000000000000..550466a7b9ed --- /dev/null +++ b/gdk-pixbuf/prj/build.lst @@ -0,0 +1,3 @@ +gp gdk-pixbuf : glib gettext jpeg libpng soltools NULL +gp gdk-pixbuf usr1 - all gp_mkout NULL +gp gdk-pixbuf nmake - all gp_gdk-pixbuf NULL diff --git a/gdk-pixbuf/prj/d.lst b/gdk-pixbuf/prj/d.lst new file mode 100755 index 000000000000..a6dac87058e5 --- /dev/null +++ b/gdk-pixbuf/prj/d.lst @@ -0,0 +1,20 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\gdk-pixbuf-2.0 +mkdir: %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf + +..\%__SRC%\inc\gdk-pixbuf-animation.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-animation.h +..\%__SRC%\inc\gdk-pixbuf-features.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-features.h +..\%__SRC%\inc\gdk-pixbuf-marshal.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-marshal.h +..\%__SRC%\inc\gdk-pixbuf.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf.h +..\%__SRC%\inc\gdk-pixbuf-core.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-core.h +..\%__SRC%\inc\gdk-pixbuf-io.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-io.h +..\%__SRC%\inc\gdk-pixbuf-simple-anim.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-simple-anim.h +..\%__SRC%\inc\gdk-pixdata.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixdata.h +..\%__SRC%\inc\gdk-pixbuf-enum-types.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-enum-types.h +..\%__SRC%\inc\gdk-pixbuf-loader.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-loader.h +..\%__SRC%\inc\gdk-pixbuf-transform.h %_DEST%\inc\external\gdk-pixbuf-2.0\gdk-pixbuf\gdk-pixbuf-transform.h + +..\%__SRC%\lib\libgdk_pixbuf-2.0.0.dylib %_DEST%\lib\libgdk_pixbuf-2.0.0.dylib +symlink: %_DEST%\lib\libgdk_pixbuf-2.0.0.dylib %_DEST%\lib\libgdk_pixbuf-2.0.dylib +..\%__SRC%\bin\*.dll %_DEST%\bin +..\%__SRC%\lib\gdk_pixbuf-2.0.lib %_DEST%\lib\gdk_pixbuf-2.0.lib diff --git a/gettext/gettext-0.18.1.1.patch b/gettext/gettext-0.18.1.1.patch new file mode 100644 index 000000000000..016b65d8838b --- /dev/null +++ b/gettext/gettext-0.18.1.1.patch @@ -0,0 +1,3639 @@ +--- misc/gettext-0.18.1.1/gettext-runtime/intl/makefile.mk Wed Aug 20 14:33:55 2008 ++++ misc/build/gettext-0.18.1.1/gettext-runtime/intl/makefile.mk Wed Aug 20 14:26:42 2008 +@@ -1,1 +1,109 @@ +-dummy ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# <http://www.openoffice.org/license.html> ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/..$/..$/.. ++PRJINC=.. ++PRJNAME=gettext ++TARGET=intl ++ ++#ENABLE_EXCEPTIONS=TRUE ++VISIBILITY_HIDDEN=TRUE ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ---------------------------------- ++ ++.INCLUDE : settings.mk ++ ++CFLAGS+=-c -DLOCALEDIR=\"./share/locale\" -DLOCALE_ALIAS_PATH=\"./share/locale\" -DLIBDIR=\"./lib\" ++CFLAGS+=-DBUILDING_LIBINTL -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"./lib\" -DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate ++CFLAGS+=-DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -I. -I. -I.. ++ ++.IF "$(GUI)"=="WNT" ++CFLAGS+=-DBUILDING_DLL -DDLL_EXPORT -DPIC ++.ENDIF ++ ++# --- Files ------------------------------------- ++ ++SLOFILES=\ ++ $(SLO)$/bindtextdom.obj \ ++ $(SLO)$/dcgettext.obj \ ++ $(SLO)$/dgettext.obj \ ++ $(SLO)$/gettext.obj \ ++ $(SLO)$/finddomain.obj \ ++ $(SLO)$/hash-string.obj \ ++ $(SLO)$/loadmsgcat.obj \ ++ $(SLO)$/localealias.obj \ ++ $(SLO)$/textdomain.obj \ ++ $(SLO)$/l10nflist.obj \ ++ $(SLO)$/explodename.obj \ ++ $(SLO)$/dcigettext.obj \ ++ $(SLO)$/dcngettext.obj \ ++ $(SLO)$/dngettext.obj \ ++ $(SLO)$/ngettext.obj \ ++ $(SLO)$/plural.obj \ ++ $(SLO)$/plural-exp.obj \ ++ $(SLO)$/localcharset.obj \ ++ $(SLO)$/threadlib.obj \ ++ $(SLO)$/lock.obj \ ++ $(SLO)$/relocatable.obj \ ++ $(SLO)$/langprefs.obj \ ++ $(SLO)$/localename.obj \ ++ $(SLO)$/log.obj \ ++ $(SLO)$/printf.obj \ ++ $(SLO)$/setlocale.obj \ ++ $(SLO)$/version.obj \ ++ $(SLO)$/osdep.obj \ ++ $(SLO)$/intl-compat.obj ++ ++# --- Library ----------------------------------- ++ ++SHL1TARGET= $(TARGET) ++SHL1OBJS=$(SLOFILES) ++SHL1STDLIBS=\ ++ Advapi32.lib ++ ++ ++SHL1DEPN= ++#SHL1IMPLIB= i$(TARGET) ++#SHL1USE_EXPORTS=name ++ ++SHL1DEF= $(MISC)$/$(SHL1TARGET).def ++ ++DEF1NAME= $(SHL1TARGET) ++DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt \ ++ $(SLB)$/$(TARGET).lib ++DEFLIB1NAME=$(TARGET) ++ ++# --- Targets ---------------------------------- ++ ++.INCLUDE : target.mk ++ ++# --- filter file ------------------------------ ++ ++$(MISC)$/$(SHL1TARGET).flt: makefile.mk ++ @echo CLEAR_THE_FILE > $@ ++ +--- misc/gettext-0.18.1.1/gettext-runtime/intl/printf-parse.c 2010-06-06 14:49:57.000000000 +0200 ++++ misc/build/gettext-0.18.1.1/gettext-runtime/intl/printf-parse.c 2011-03-09 11:51:02.615094200 +0100 +@@ -75,6 +74,9 @@ + # include "c-ctype.h" + #endif + ++typedef __int64 intmax_t; ++ ++ + #ifdef STATIC + STATIC + #endif +--- misc/gettext-0.18.1.1/gettext-runtime/config.h Wed Aug 20 14:33:55 2008 ++++ misc/build/gettext-0.18.1.1/gettext-runtime/config.h Wed Aug 20 14:26:42 2008 +@@ -1,1 +1,2560 @@ +-dummy ++#ifdef _WIN32 ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define if the compiler is building for multiple architectures of Apple ++ platforms at once. */ ++/* #undef AA_APPLE_UNIVERSAL_BUILD */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#define BITSIZEOF_PTRDIFF_T 32 ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#define BITSIZEOF_SIZE_T 32 ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 16 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 16 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++#define DOUBLE_SLASH_IS_DISTINCT_ROOT 1 ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++#define ENABLE_NLS 1 ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define on systems for which file names may have a so-called `drive letter' ++ prefix, define this to compute the length of that prefix, including the ++ colon. */ ++#define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 1 ++ ++/* Define if the backslash character may also serve as a file name component ++ separator. */ ++#define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 1 ++ ++/* Define if a drive letter prefix denotes a relative path if it is not ++ followed by a file name component separator. */ ++#define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1 ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the <argz.h> header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++/* #undef HAVE_ASPRINTF */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the <bp-sym.h> header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++/* #undef HAVE_BUILTIN_EXPECT */ ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++/* #undef HAVE_CFLOCALECOPYCURRENT */ ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_GETOPT_CLIP */ ++ ++/* Define to 1 if you have the declaration of `optreset', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_OPTRESET */ ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR 1 ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 0 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 1 ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 0 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 1 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 1 ++ ++/* Define to 1 if you have the <dlfcn.h> header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define if you have the declaration of environ. */ ++/* #undef HAVE_ENVIRON_DECL */ ++ ++/* Define to 1 if you have the <errno.h> header file. */ ++#define HAVE_ERRNO_H 1 ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++/* #undef HAVE_GETEGID */ ++ ++/* Define to 1 if you have the `geteuid' function. */ ++/* #undef HAVE_GETEUID */ ++ ++/* Define to 1 if you have the `getgid' function. */ ++/* #undef HAVE_GETGID */ ++ ++/* Define to 1 if you have the <getopt.h> header file. */ ++/* #undef HAVE_GETOPT_H */ ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++/* #undef HAVE_GETOPT_LONG_ONLY */ ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++/* #undef HAVE_GETPAGESIZE */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `getuid' function. */ ++/* #undef HAVE_GETUID */ ++ ++/* Define if you have the iconv() function and it works. */ ++/* #undef HAVE_ICONV */ ++ ++/* Define to 1 if you have the <iconv.h> header file. */ ++/* #undef HAVE_ICONV_H */ ++ ++/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ ++/* #undef HAVE_INTMAX_T */ ++#ifndef _MSC_VER ++#define HAVE_INTMAX_T 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTMAX_T */ ++#endif /* _MSC_VER */ ++ ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++/* #undef HAVE_INTTYPES_H */ ++#ifndef _MSC_VER ++#define HAVE_INTTYPES_H 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTTYPES_H */ ++#endif /* _MSC_VER */ ++ ++ ++/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and ++ declares uintmax_t. */ ++/* #undef HAVE_INTTYPES_H_WITH_UINTMAX */ ++#ifndef _MSC_VER ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTTYPES_H_WITH_UINTMAX */ ++#endif /* _MSC_VER */ ++ ++ ++/* Define to 1 if you have the `iswblank' function. */ ++/* #undef HAVE_ISWBLANK */ ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define if your <locale.h> file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the <limits.h> header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the <mach-o/dyld.h> header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++/* #undef HAVE_MALLOC_POSIX */ ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and <sys/mman.h>. */ ++/* #undef HAVE_MAP_ANONYMOUS */ ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++/* #undef HAVE_MBSINIT */ ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if <wchar.h> declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memchr' function. */ ++#define HAVE_MEMCHR 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the `mprotect' function. */ ++/* #undef HAVE_MPROTECT */ ++ ++/* Define to 1 if you have the `munmap' function. */ ++/* #undef HAVE_MUNMAP */ ++ ++/* Define to 1 if you have the `newlocale' function. */ ++/* #undef HAVE_NEWLOCALE */ ++ ++/* Define to 1 if you have the `pathconf' function. */ ++/* #undef HAVE_PATHCONF */ ++ ++/* Define if your printf() function supports format strings with positions. */ ++/* #undef HAVE_POSIX_PRINTF */ ++ ++/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */ ++/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */ ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++/* #undef HAVE_PTHREAD_RWLOCK */ ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the <random.h> header file. */ ++/* #undef HAVE_RANDOM_H */ ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ATOLL */ ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_CHOWN */ ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENDUSERSHELL */ ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHDIR */ ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FPURGE */ ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSEEKO */ ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSYNC */ ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTELLO */ ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FTRUNCATE */ ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETCWD */ ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDOMAINNAME */ ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDTABLESIZE */ ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETGROUPS */ ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETHOSTNAME */ ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOADAVG */ ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN */ ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLOGIN_R */ ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETPAGESIZE */ ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETSUBOPT */ ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETUSERSHELL */ ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GRANTPT */ ++ ++/* Define to 1 if initstat_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTAT_R */ ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHOWN */ ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINK */ ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LSTAT */ ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MBSNRTOWCS */ ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFO */ ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNOD */ ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMP */ ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_POPEN */ ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PREAD */ ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PTSNAME */ ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PWRITE */ ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINK */ ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_REALPATH */ ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RMDIR */ ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETENV */ ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETUSERSHELL */ ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGACTION */ ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGADDSET */ ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGDELSET */ ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGEMPTYSET */ ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGFILLSET */ ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGISMEMBER */ ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPENDING */ ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SIGPROCMASK */ ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SLEEP */ ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SNPRINTF */ ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STAT 1 ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPCPY */ ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCASESTR */ ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNLEN 1 ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSEP */ ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRSIGNAL */ ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOK_R */ ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOLL */ ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRTOULL */ ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINK */ ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_TTYNAME_R */ ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLOCKPT */ ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNSETENV */ ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_USLEEP */ ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCSNRTOMBS */ ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_WCWIDTH */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the `realpath' function. */ ++/* #undef HAVE_REALPATH */ ++ ++/* Define to 1 if you have the <search.h> header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if you have the <signal.h> header file. */ ++#define HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++#define HAVE_SIGNED_SIG_ATOMIC_T 1 ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WCHAR_T */ ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++/* #undef HAVE_SIGNED_WINT_T */ ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the `snprintf' function. */ ++/* #undef HAVE_SNPRINTF */ ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++/* #undef HAVE_STDBOOL_H */ ++ ++/* Define to 1 if you have the <stddef.h> header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++/* #undef HAVE_STDINT_H */ ++ ++/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares ++ uintmax_t. */ ++/* #undef HAVE_STDINT_H_WITH_UINTMAX */ ++ ++/* Define to 1 if you have the <stdio.h> header file. */ ++#define HAVE_STDIO_H 1 ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++/* #undef HAVE_STRCASECMP */ ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++/* #undef HAVE_STRERROR_R */ ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++/* #undef HAVE_STRINGS_H */ ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++#define HAVE_STRNLEN 1 ++ ++/* Define to 1 if you have the `strtol' function. */ ++#define HAVE_STRTOL 1 ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if the system has the type `struct random_data'. */ ++/* #undef HAVE_STRUCT_RANDOM_DATA */ ++ ++/* Define to 1 if you have the <sys/bitypes.h> header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the <sys/inttypes.h> header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the <sys/mman.h> header file. */ ++/* #undef HAVE_SYS_MMAN_H */ ++ ++/* Define to 1 if you have the <sys/param.h> header file. */ ++/* #undef HAVE_SYS_PARAM_H */ ++ ++/* Define to 1 if you have the <sys/socket.h> header file. */ ++/* #undef HAVE_SYS_SOCKET_H */ ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the <sys/time.h> header file. */ ++/* #undef HAVE_SYS_TIME_H */ ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the <time.h> header file. */ ++#define HAVE_TIME_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++/* #undef HAVE_TSEARCH */ ++ ++/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */ ++/* #undef HAVE_UINTMAX_T */ ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#define HAVE_UNISTD_H 1 ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++/* #undef HAVE_USELOCALE */ ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 0 ++ ++/* Define to 1 if you have the <wchar.h> header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++#define HAVE_WCSNLEN 1 ++ ++/* Define to 1 if you have the <wctype.h> header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++/* #undef HAVE_WCWIDTH */ ++ ++/* Define to 1 if you have the <winsock2.h> header file. */ ++#define HAVE_WINSOCK2_H 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 0 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++/* #undef HAVE__BOOL */ ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++/* #undef ICONV_CONST */ ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "." ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 0 ++ ++#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ++# define ISSLASH(C) ((C) == '/' || (C) == '\\') ++#else ++# define ISSLASH(C) ((C) == '/') ++#endif ++ ++/* Define to 1 if `lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++/* #undef MAP_ANONYMOUS */ ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++/* #undef MBRTOWC_RETVAL_BUG */ ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++#define NO_MINUS_C_MINUS_O 1 ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define if <inttypes.h> exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++/* #undef READLINK_TRAILING_SLASH_BUG */ ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_DIR 1 ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_FILE */ ++ ++/* Define this to 1 if strerror is broken. */ ++#define REPLACE_STRERROR 1 ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX u ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX ++ ++/* Define if the POSIX multithreading library can be used. */ ++/* #undef USE_POSIX_THREADS */ ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Define if the Win32 multithreading API can be used. */ ++/* #undef USE_WIN32_THREADS */ ++ ++/* Version number of package */ ++#define VERSION "0.18.1" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to 500 only on HP-UX. */ ++/* #undef _XOPEN_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#define gid_t int ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#define inline __inline ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for MacOS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if <wchar.h> does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++#define nlink_t int ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict /**/ ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if <sys/types.h> does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++#define ssize_t int ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++#define uid_t int ++ ++/* Define to unsigned long or unsigned long long if <stdint.h> and ++ <inttypes.h> don't define. */ ++#define uintmax_t unsigned long long ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++ ++#elif defined (__APPLE__) ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define if the compiler is building for multiple architectures of Apple ++ platforms at once. */ ++/* #undef AA_APPLE_UNIVERSAL_BUILD */ ++ ++/* Define to the number of bits in type 'ptrdiff_t'. */ ++#define BITSIZEOF_PTRDIFF_T 32 ++ ++/* Define to the number of bits in type 'sig_atomic_t'. */ ++#define BITSIZEOF_SIG_ATOMIC_T 32 ++ ++/* Define to the number of bits in type 'size_t'. */ ++#define BITSIZEOF_SIZE_T 32 ++ ++/* Define to the number of bits in type 'wchar_t'. */ ++#define BITSIZEOF_WCHAR_T 32 ++ ++/* Define to the number of bits in type 'wint_t'. */ ++#define BITSIZEOF_WINT_T 32 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define if mono is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_MONO */ ++ ++/* Define if pnet is the preferred C# implementation. */ ++/* #undef CSHARP_CHOICE_PNET */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Define to 1 if // is a file system root distinct from /. */ ++/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */ ++ ++/* Define to 1 if translation of program messages to the user's native ++ language is requested. */ ++#define ENABLE_NLS 1 ++ ++/* Define to 1 if the package shall run at any location in the file system. */ ++/* #undef ENABLE_RELOCATABLE */ ++ ++/* Define on systems for which file names may have a so-called `drive letter' ++ prefix, define this to compute the length of that prefix, including the ++ colon. */ ++#define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 0 ++ ++/* Define if the backslash character may also serve as a file name component ++ separator. */ ++#define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 0 ++ ++/* Define if a drive letter prefix denotes a relative path if it is not ++ followed by a file name component separator. */ ++#define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 ++ ++/* Define to 1 if realpath() can malloc memory, always gives an absolute path, ++ and handles trailing slash correctly. */ ++/* #undef FUNC_REALPATH_WORKS */ ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module canonicalize-lgpl shall be considered present. */ ++#define GNULIB_CANONICALIZE_LGPL 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module fwriteerror shall be considered present. */ ++#define GNULIB_FWRITEERROR 1 ++ ++/* Define to a C preprocessor expression that evaluates to 1 or 0, depending ++ whether the gnulib module sigpipe shall be considered present. */ ++#define GNULIB_SIGPIPE 1 ++ ++/* Define to 1 when the gnulib module canonicalize_file_name should be tested. ++ */ ++#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1 ++ ++/* Define to 1 when the gnulib module environ should be tested. */ ++#define GNULIB_TEST_ENVIRON 1 ++ ++/* Define to 1 when the gnulib module getopt-gnu should be tested. */ ++#define GNULIB_TEST_GETOPT_GNU 1 ++ ++/* Define to 1 when the gnulib module lstat should be tested. */ ++#define GNULIB_TEST_LSTAT 1 ++ ++/* Define to 1 when the gnulib module malloc-posix should be tested. */ ++#define GNULIB_TEST_MALLOC_POSIX 1 ++ ++/* Define to 1 when the gnulib module mbrtowc should be tested. */ ++#define GNULIB_TEST_MBRTOWC 1 ++ ++/* Define to 1 when the gnulib module mbsinit should be tested. */ ++#define GNULIB_TEST_MBSINIT 1 ++ ++/* Define to 1 when the gnulib module mbslen should be tested. */ ++#define GNULIB_TEST_MBSLEN 1 ++ ++/* Define to 1 when the gnulib module mbsstr should be tested. */ ++#define GNULIB_TEST_MBSSTR 1 ++ ++/* Define to 1 when the gnulib module memchr should be tested. */ ++#define GNULIB_TEST_MEMCHR 1 ++ ++/* Define to 1 when the gnulib module readlink should be tested. */ ++#define GNULIB_TEST_READLINK 1 ++ ++/* Define to 1 when the gnulib module realpath should be tested. */ ++#define GNULIB_TEST_REALPATH 1 ++ ++/* Define to 1 when the gnulib module sigprocmask should be tested. */ ++#define GNULIB_TEST_SIGPROCMASK 1 ++ ++/* Define to 1 when the gnulib module stat should be tested. */ ++#define GNULIB_TEST_STAT 1 ++ ++/* Define to 1 when the gnulib module strerror should be tested. */ ++#define GNULIB_TEST_STRERROR 1 ++ ++/* Define to 1 when the gnulib module strnlen should be tested. */ ++#define GNULIB_TEST_STRNLEN 1 ++ ++/* Define to 1 when the gnulib module wcwidth should be tested. */ ++#define GNULIB_TEST_WCWIDTH 1 ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). ++ */ ++#define HAVE_ALLOCA_H 1 ++ ++/* Define to 1 if you have the `argz_count' function. */ ++/* #undef HAVE_ARGZ_COUNT */ ++ ++/* Define to 1 if you have the <argz.h> header file. */ ++/* #undef HAVE_ARGZ_H */ ++ ++/* Define to 1 if you have the `argz_next' function. */ ++/* #undef HAVE_ARGZ_NEXT */ ++ ++/* Define to 1 if you have the `argz_stringify' function. */ ++/* #undef HAVE_ARGZ_STRINGIFY */ ++ ++/* Define to 1 if you have the `asprintf' function. */ ++#define HAVE_ASPRINTF 1 ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the <bp-sym.h> header file. */ ++/* #undef HAVE_BP_SYM_H */ ++ ++/* Define to 1 if the compiler understands __builtin_expect. */ ++#define HAVE_BUILTIN_EXPECT 1 ++ ++/* Define to 1 if you have the `canonicalize_file_name' function. */ ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the ++ CoreFoundation framework. */ ++#define HAVE_CFLOCALECOPYCURRENT 1 ++ ++/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in ++ the CoreFoundation framework. */ ++#define HAVE_CFPREFERENCESCOPYAPPVALUE 1 ++ ++/* Define if the GNU dcgettext() function is already present or preinstalled. ++ */ ++/* #undef HAVE_DCGETTEXT */ ++ ++/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_CLEARERR_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_FEOF_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FERROR_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FFLUSH_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FGETS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTC_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FPUTS_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FREAD_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_FWRITE_UNLOCKED 0 ++ ++/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_GETCHAR_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_GETC_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. ++ */ ++#define HAVE_DECL_GETENV 1 ++ ++/* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_GETOPT_CLIP */ ++ ++/* Define to 1 if you have the declaration of `optreset', and to 0 if you ++ don't. */ ++#define HAVE_DECL_OPTRESET 1 ++ ++/* Define to 1 if you have the declaration of `program_invocation_name', and ++ to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 ++ ++/* Define to 1 if you have the declaration of `program_invocation_short_name', ++ and to 0 if you don't. */ ++#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 ++ ++/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if ++ you don't. */ ++#define HAVE_DECL_PUTCHAR_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you ++ don't. */ ++#define HAVE_DECL_PUTC_UNLOCKED 1 ++ ++/* Define to 1 if you have the declaration of `strerror', and to 0 if you ++ don't. */ ++/* #undef HAVE_DECL_STRERROR */ ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRERROR_R 1 ++ ++/* Define to 1 if you have the declaration of `strnlen', and to 0 if you ++ don't. */ ++#define HAVE_DECL_STRNLEN 0 ++ ++/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you ++ don't. */ ++#define HAVE_DECL_WCWIDTH 1 ++ ++/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNPRINTF 0 ++ ++/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you ++ don't. */ ++#define HAVE_DECL__SNWPRINTF 0 ++ ++/* Define to 1 if you have the <dlfcn.h> header file. */ ++#define HAVE_DLFCN_H 1 ++ ++/* Define if you have the declaration of environ. */ ++/* #undef HAVE_ENVIRON_DECL */ ++ ++/* Define to 1 if you have the <errno.h> header file. */ ++#define HAVE_ERRNO_H 1 ++ ++/* Define to 1 if you have the `fwprintf' function. */ ++#define HAVE_FWPRINTF 1 ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++#define HAVE_GETEGID 1 ++ ++/* Define to 1 if you have the `geteuid' function. */ ++#define HAVE_GETEUID 1 ++ ++/* Define to 1 if you have the `getgid' function. */ ++#define HAVE_GETGID 1 ++ ++/* Define to 1 if you have the <getopt.h> header file. */ ++#define HAVE_GETOPT_H 1 ++ ++/* Define to 1 if you have the `getopt_long_only' function. */ ++#define HAVE_GETOPT_LONG_ONLY 1 ++ ++/* Define to 1 if you have the `getpagesize' function. */ ++#define HAVE_GETPAGESIZE 1 ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++/* #undef HAVE_GETTEXT */ ++ ++/* Define to 1 if you have the `getuid' function. */ ++#define HAVE_GETUID 1 ++ ++/* Define if you have the iconv() function and it works. */ ++#define HAVE_ICONV 1 ++ ++/* Define to 1 if you have the <iconv.h> header file. */ ++#define HAVE_ICONV_H 1 ++ ++/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ ++#define HAVE_INTMAX_T 1 ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and ++ declares uintmax_t. */ ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the `iswblank' function. */ ++#define HAVE_ISWBLANK 1 ++ ++/* Define to 1 if you have the `iswcntrl' function. */ ++#define HAVE_ISWCNTRL 1 ++ ++/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ ++#define HAVE_LANGINFO_CODESET 1 ++ ++/* Define if your <locale.h> file defines LC_MESSAGES. */ ++#define HAVE_LC_MESSAGES 1 ++ ++/* Define to 1 if you have the <limits.h> header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if the system has the type `long long int'. */ ++#define HAVE_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++#define HAVE_LSTAT 1 ++ ++/* Define to 1 if you have the <mach-o/dyld.h> header file. */ ++/* #undef HAVE_MACH_O_DYLD_H */ ++ ++/* Define if the 'malloc' function is POSIX compliant. */ ++#define HAVE_MALLOC_POSIX 1 ++ ++/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including ++ config.h and <sys/mman.h>. */ ++#define HAVE_MAP_ANONYMOUS 1 ++ ++/* Define to 1 if you have the `mbrtowc' function. */ ++#define HAVE_MBRTOWC 1 ++ ++/* Define to 1 if you have the `mbsinit' function. */ ++#define HAVE_MBSINIT 1 ++ ++/* Define to 1 if you have the `mbslen' function. */ ++/* #undef HAVE_MBSLEN */ ++ ++/* Define to 1 if <wchar.h> declares mbstate_t. */ ++#define HAVE_MBSTATE_T 1 ++ ++/* Define to 1 if you have the `memchr' function. */ ++#define HAVE_MEMCHR 1 ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mempcpy' function. */ ++/* #undef HAVE_MEMPCPY */ ++ ++/* Define to 1 if you have a working `mmap' system call. */ ++#define HAVE_MMAP 1 ++ ++/* Define to 1 if you have the `mprotect' function. */ ++#define HAVE_MPROTECT 1 ++ ++/* Define to 1 if you have the `munmap' function. */ ++#define HAVE_MUNMAP 1 ++ ++/* Define to 1 if you have the `newlocale' function. */ ++#define HAVE_NEWLOCALE 1 ++ ++/* Define to 1 if you have the `pathconf' function. */ ++#define HAVE_PATHCONF 1 ++ ++/* Define if your printf() function supports format strings with positions. */ ++#define HAVE_POSIX_PRINTF 1 ++ ++/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */ ++#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 ++ ++/* Define if the POSIX multithreading library has read/write locks. */ ++#define HAVE_PTHREAD_RWLOCK 1 ++ ++/* Define to 1 if you have the `putenv' function. */ ++#define HAVE_PUTENV 1 ++ ++/* Define to 1 if you have the <random.h> header file. */ ++/* #undef HAVE_RANDOM_H */ ++ ++/* Define to 1 if atoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ATOLL 1 ++ ++/* Define to 1 if btowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_BTOWC 1 ++ ++/* Define to 1 if canonicalize_file_name is declared even after undefining ++ macros. */ ++/* #undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME */ ++ ++/* Define to 1 if chown is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_CHOWN 1 ++ ++/* Define to 1 if dprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DPRINTF */ ++ ++/* Define to 1 if dup2 is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_DUP2 1 ++ ++/* Define to 1 if dup3 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_DUP3 */ ++ ++/* Define to 1 if endusershell is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_ENDUSERSHELL 1 ++ ++/* Define to 1 if environ is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_ENVIRON */ ++ ++/* Define to 1 if euidaccess is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_EUIDACCESS */ ++ ++/* Define to 1 if faccessat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FACCESSAT */ ++ ++/* Define to 1 if fchdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FCHDIR 1 ++ ++/* Define to 1 if fchmodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHMODAT */ ++ ++/* Define to 1 if fchownat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FCHOWNAT */ ++ ++/* Define to 1 if fpurge is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FPURGE 1 ++ ++/* Define to 1 if fseeko is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FSEEKO 1 ++ ++/* Define to 1 if fstatat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FSTATAT */ ++ ++/* Define to 1 if fsync is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FSYNC 1 ++ ++/* Define to 1 if ftello is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTELLO 1 ++ ++/* Define to 1 if ftruncate is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_FTRUNCATE 1 ++ ++/* Define to 1 if futimens is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_FUTIMENS */ ++ ++/* Define to 1 if getcwd is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETCWD 1 ++ ++/* Define to 1 if getdelim is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETDELIM */ ++ ++/* Define to 1 if getdomainname is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETDOMAINNAME 1 ++ ++/* Define to 1 if getdtablesize is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETDTABLESIZE 1 ++ ++/* Define to 1 if getgroups is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETGROUPS 1 ++ ++/* Define to 1 if gethostname is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETHOSTNAME 1 ++ ++/* Define to 1 if getline is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_GETLINE */ ++ ++/* Define to 1 if getloadavg is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETLOADAVG 1 ++ ++/* Define to 1 if getlogin is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETLOGIN 1 ++ ++/* Define to 1 if getlogin_r is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETLOGIN_R 1 ++ ++/* Define to 1 if getpagesize is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETPAGESIZE 1 ++ ++/* Define to 1 if getsubopt is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETSUBOPT 1 ++ ++/* Define to 1 if getusershell is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GETUSERSHELL 1 ++ ++/* Define to 1 if grantpt is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_GRANTPT 1 ++ ++/* Define to 1 if initstat_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_INITSTAT_R */ ++ ++/* Define to 1 if lchmod is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LCHMOD */ ++ ++/* Define to 1 if lchown is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LCHOWN 1 ++ ++/* Define to 1 if link is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LINK 1 ++ ++/* Define to 1 if linkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_LINKAT */ ++ ++/* Define to 1 if lseek is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSEEK 1 ++ ++/* Define to 1 if lstat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_LSTAT 1 ++ ++/* Define to 1 if mbrlen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRLEN 1 ++ ++/* Define to 1 if mbrtowc is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBRTOWC 1 ++ ++/* Define to 1 if mbsinit is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSINIT 1 ++ ++/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSNRTOWCS 1 ++ ++/* Define to 1 if mbsrtowcs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MBSRTOWCS 1 ++ ++/* Define to 1 if memmem is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMMEM */ ++ ++/* Define to 1 if mempcpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMPCPY */ ++ ++/* Define to 1 if memrchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MEMRCHR */ ++ ++/* Define to 1 if mkdirat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDIRAT */ ++ ++/* Define to 1 if mkdtemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKDTEMP */ ++ ++/* Define to 1 if mkfifo is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MKFIFO 1 ++ ++/* Define to 1 if mkfifoat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKFIFOAT */ ++ ++/* Define to 1 if mknod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MKNOD 1 ++ ++/* Define to 1 if mknodat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKNODAT */ ++ ++/* Define to 1 if mkostemp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMP */ ++ ++/* Define to 1 if mkostemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKOSTEMPS */ ++ ++/* Define to 1 if mkstemp is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_MKSTEMP 1 ++ ++/* Define to 1 if mkstemps is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_MKSTEMPS */ ++ ++/* Define to 1 if pipe2 is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_PIPE2 */ ++ ++/* Define to 1 if popen is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_POPEN 1 ++ ++/* Define to 1 if pread is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PREAD 1 ++ ++/* Define to 1 if ptsname is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PTSNAME 1 ++ ++/* Define to 1 if pwrite is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_PWRITE 1 ++ ++/* Define to 1 if random_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RANDOM_R */ ++ ++/* Define to 1 if rawmemchr is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RAWMEMCHR */ ++ ++/* Define to 1 if readlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_READLINK 1 ++ ++/* Define to 1 if readlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_READLINKAT */ ++ ++/* Define to 1 if realpath is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_REALPATH 1 ++ ++/* Define to 1 if renameat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RENAMEAT */ ++ ++/* Define to 1 if rmdir is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_RMDIR 1 ++ ++/* Define to 1 if rpmatch is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_RPMATCH */ ++ ++/* Define to 1 if setenv is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETENV 1 ++ ++/* Define to 1 if setstate_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SETSTATE_R */ ++ ++/* Define to 1 if setusershell is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SETUSERSHELL 1 ++ ++/* Define to 1 if sigaction is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGACTION 1 ++ ++/* Define to 1 if sigaddset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGADDSET 1 ++ ++/* Define to 1 if sigdelset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGDELSET 1 ++ ++/* Define to 1 if sigemptyset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGEMPTYSET 1 ++ ++/* Define to 1 if sigfillset is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGFILLSET 1 ++ ++/* Define to 1 if sigismember is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGISMEMBER 1 ++ ++/* Define to 1 if sigpending is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGPENDING 1 ++ ++/* Define to 1 if sigprocmask is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SIGPROCMASK 1 ++ ++/* Define to 1 if sleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SLEEP 1 ++ ++/* Define to 1 if snprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SNPRINTF 1 ++ ++/* Define to 1 if srandom_r is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SRANDOM_R */ ++ ++/* Define to 1 if stat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STAT 1 ++ ++/* Define to 1 if stpcpy is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STPCPY 1 ++ ++/* Define to 1 if stpncpy is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STPNCPY */ ++ ++/* Define to 1 if strcasestr is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRCASESTR 1 ++ ++/* Define to 1 if strchrnul is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRCHRNUL */ ++ ++/* Define to 1 if strdup is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRDUP 1 ++ ++/* Define to 1 if strncat is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRNCAT 1 ++ ++/* Define to 1 if strndup is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNDUP */ ++ ++/* Define to 1 if strnlen is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRNLEN */ ++ ++/* Define to 1 if strpbrk is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRPBRK 1 ++ ++/* Define to 1 if strsep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRSEP 1 ++ ++/* Define to 1 if strsignal is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRSIGNAL 1 ++ ++/* Define to 1 if strtod is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOD 1 ++ ++/* Define to 1 if strtok_r is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOK_R 1 ++ ++/* Define to 1 if strtoll is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOLL 1 ++ ++/* Define to 1 if strtoull is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_STRTOULL 1 ++ ++/* Define to 1 if strverscmp is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_STRVERSCMP */ ++ ++/* Define to 1 if symlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_SYMLINK 1 ++ ++/* Define to 1 if symlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_SYMLINKAT */ ++ ++/* Define to 1 if tmpfile is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TMPFILE 1 ++ ++/* Define to 1 if ttyname_r is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_TTYNAME_R 1 ++ ++/* Define to 1 if unlink is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLINK 1 ++ ++/* Define to 1 if unlinkat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UNLINKAT */ ++ ++/* Define to 1 if unlockpt is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNLOCKPT 1 ++ ++/* Define to 1 if unsetenv is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_UNSETENV 1 ++ ++/* Define to 1 if usleep is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_USLEEP 1 ++ ++/* Define to 1 if utimensat is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_UTIMENSAT */ ++ ++/* Define to 1 if vdprintf is declared even after undefining macros. */ ++/* #undef HAVE_RAW_DECL_VDPRINTF */ ++ ++/* Define to 1 if vsnprintf is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_VSNPRINTF 1 ++ ++/* Define to 1 if wcrtomb is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCRTOMB 1 ++ ++/* Define to 1 if wcsnrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSNRTOMBS 1 ++ ++/* Define to 1 if wcsrtombs is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCSRTOMBS 1 ++ ++/* Define to 1 if wctob is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCTOB 1 ++ ++/* Define to 1 if wcwidth is declared even after undefining macros. */ ++#define HAVE_RAW_DECL_WCWIDTH 1 ++ ++/* Define to 1 if you have the `readlink' function. */ ++#define HAVE_READLINK 1 ++ ++/* Define to 1 if you have the `realpath' function. */ ++#define HAVE_REALPATH 1 ++ ++/* Define to 1 if you have the <search.h> header file. */ ++#define HAVE_SEARCH_H 1 ++ ++/* Define to 1 if you have the `setenv' function. */ ++#define HAVE_SETENV 1 ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if you have the <signal.h> header file. */ ++#define HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ ++#define HAVE_SIGNED_SIG_ATOMIC_T 1 ++ ++/* Define to 1 if 'wchar_t' is a signed integer type. */ ++#define HAVE_SIGNED_WCHAR_T 1 ++ ++/* Define to 1 if 'wint_t' is a signed integer type. */ ++#define HAVE_SIGNED_WINT_T 1 ++ ++/* Define to 1 if the system has the type `sigset_t'. */ ++/* #undef HAVE_SIGSET_T */ ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#define HAVE_SNPRINTF 1 ++ ++/* Define to 1 if stdbool.h conforms to C99. */ ++#define HAVE_STDBOOL_H 1 ++ ++/* Define to 1 if you have the <stddef.h> header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares ++ uintmax_t. */ ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++ ++/* Define to 1 if you have the <stdio.h> header file. */ ++#define HAVE_STDIO_H 1 ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++#define HAVE_STPCPY 1 ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++#define HAVE_STRCASECMP 1 ++ ++/* Define to 1 if you have the `strdup' function. */ ++#define HAVE_STRDUP 1 ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++#define HAVE_STRERROR_R 1 ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strnlen' function. */ ++/* #undef HAVE_STRNLEN */ ++ ++/* Define to 1 if you have the `strtol' function. */ ++#define HAVE_STRTOL 1 ++ ++/* Define to 1 if you have the `strtoul' function. */ ++#define HAVE_STRTOUL 1 ++ ++/* Define to 1 if the system has the type `struct random_data'. */ ++/* #undef HAVE_STRUCT_RANDOM_DATA */ ++ ++/* Define to 1 if you have the <sys/bitypes.h> header file. */ ++/* #undef HAVE_SYS_BITYPES_H */ ++ ++/* Define to 1 if you have the <sys/inttypes.h> header file. */ ++/* #undef HAVE_SYS_INTTYPES_H */ ++ ++/* Define to 1 if you have the <sys/mman.h> header file. */ ++#define HAVE_SYS_MMAN_H 1 ++ ++/* Define to 1 if you have the <sys/param.h> header file. */ ++#define HAVE_SYS_PARAM_H 1 ++ ++/* Define to 1 if you have the <sys/socket.h> header file. */ ++#define HAVE_SYS_SOCKET_H 1 ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the <sys/time.h> header file. */ ++#define HAVE_SYS_TIME_H 1 ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the <time.h> header file. */ ++#define HAVE_TIME_H 1 ++ ++/* Define to 1 if you have the `tsearch' function. */ ++#define HAVE_TSEARCH 1 ++ ++/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */ ++#define HAVE_UINTMAX_T 1 ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#define HAVE_UNISTD_H 1 ++ ++/* Define to 1 if the system has the type `unsigned long long int'. */ ++#define HAVE_UNSIGNED_LONG_LONG_INT 1 ++ ++/* Define to 1 if you have the `uselocale' function. */ ++#define HAVE_USELOCALE 1 ++ ++/* Define to 1 or 0, depending whether the compiler supports simple visibility ++ declarations. */ ++#define HAVE_VISIBILITY 1 ++ ++/* Define to 1 if you have the <wchar.h> header file. */ ++#define HAVE_WCHAR_H 1 ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcrtomb' function. */ ++#define HAVE_WCRTOMB 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define to 1 if you have the `wcsnlen' function. */ ++/* #undef HAVE_WCSNLEN */ ++ ++/* Define to 1 if you have the <wctype.h> header file. */ ++#define HAVE_WCTYPE_H 1 ++ ++/* Define to 1 if you have the `wcwidth' function. */ ++#define HAVE_WCWIDTH 1 ++ ++/* Define to 1 if you have the <winsock2.h> header file. */ ++/* #undef HAVE_WINSOCK2_H */ ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Define to 1 if O_NOATIME works. */ ++#define HAVE_WORKING_O_NOATIME 0 ++ ++/* Define to 1 if O_NOFOLLOW works. */ ++#define HAVE_WORKING_O_NOFOLLOW 1 ++ ++/* Define to 1 if the system has the type `_Bool'. */ ++#define HAVE__BOOL 1 ++ ++/* Define to 1 if you have the `_NSGetExecutablePath' function. */ ++/* #undef HAVE__NSGETEXECUTABLEPATH */ ++ ++/* Define to 1 if you have the `__fsetlocking' function. */ ++/* #undef HAVE___FSETLOCKING */ ++ ++/* Define as const if the declaration of iconv() needs const. */ ++#define ICONV_CONST const ++ ++/* Define to a symbolic name denoting the flavor of iconv_open() ++ implementation. */ ++/* #undef ICONV_FLAVOR */ ++ ++/* Define to the value of ${prefix}, as a string. */ ++#define INSTALLPREFIX "/Users/tml/lo-macosx/gettext/./unxmacxi.pro/misc" ++ ++/* Define if integer division by zero raises signal SIGFPE. */ ++#define INTDIV0_RAISES_SIGFPE 1 ++ ++#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ++# define ISSLASH(C) ((C) == '/' || (C) == '\\') ++#else ++# define ISSLASH(C) ((C) == '/') ++#endif ++ ++/* Define to 1 if `lstat' dereferences a symlink specified with a trailing ++ slash. */ ++/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define LT_OBJDIR ".libs/" ++ ++/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ ++#define MALLOC_0_IS_NONNULL 1 ++ ++/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ ++#define MAP_ANONYMOUS MAP_ANON ++ ++/* Define if the mbrtowc function has the NULL string argument bug. */ ++/* #undef MBRTOWC_NULL_ARG_BUG */ ++ ++/* Define if the mbrtowc function does not return 0 for a NUL character. */ ++/* #undef MBRTOWC_NUL_RETVAL_BUG */ ++ ++/* Define if the mbrtowc function returns a wrong return value. */ ++/* #undef MBRTOWC_RETVAL_BUG */ ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++/* #undef NO_MINUS_C_MINUS_O */ ++ ++/* Name of package */ ++#define PACKAGE "gettext-runtime" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* Define if <inttypes.h> exists and defines unusable PRI* macros. */ ++/* #undef PRI_MACROS_BROKEN */ ++ ++/* Define if the pthread_in_use() detection is hard. */ ++/* #undef PTHREAD_IN_USE_DETECTION_HARD */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'ptrdiff_t'. */ ++#define PTRDIFF_T_SUFFIX ++ ++/* Define to 1 if readlink fails to recognize a trailing slash. */ ++#define READLINK_TRAILING_SLASH_BUG 1 ++ ++/* Define to 1 if stat needs help when passed a directory name with a trailing ++ slash */ ++/* #undef REPLACE_FUNC_STAT_DIR */ ++ ++/* Define to 1 if stat needs help when passed a file name with a trailing ++ slash */ ++#define REPLACE_FUNC_STAT_FILE 1 ++ ++/* Define this to 1 if strerror is broken. */ ++/* #undef REPLACE_STRERROR */ ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'sig_atomic_t'. */ ++#define SIG_ATOMIC_T_SUFFIX ++ ++/* Define as the maximum value of type 'size_t', if the system doesn't define ++ it. */ ++#ifndef SIZE_MAX ++/* # undef SIZE_MAX */ ++#endif ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'size_t'. */ ++#define SIZE_T_SUFFIX ul ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ ++/* #undef STAT_MACROS_BROKEN */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if strerror_r returns char *. */ ++/* #undef STRERROR_R_CHAR_P */ ++ ++/* Define to the prefix of C symbols at the assembler and linker level, either ++ an underscore or empty. */ ++#define USER_LABEL_PREFIX _ ++ ++/* Define if the POSIX multithreading library can be used. */ ++#define USE_POSIX_THREADS 1 ++ ++/* Define if references to the POSIX multithreading library should be made ++ weak. */ ++/* #undef USE_POSIX_THREADS_WEAK */ ++ ++/* Define if the GNU Pth multithreading library can be used. */ ++/* #undef USE_PTH_THREADS */ ++ ++/* Define if references to the GNU Pth multithreading library should be made ++ weak. */ ++/* #undef USE_PTH_THREADS_WEAK */ ++ ++/* Define if the old Solaris multithreading library can be used. */ ++/* #undef USE_SOLARIS_THREADS */ ++ ++/* Define if references to the old Solaris multithreading library should be ++ made weak. */ ++/* #undef USE_SOLARIS_THREADS_WEAK */ ++ ++/* Define to 1 if you want getc etc. to use unlocked I/O if available. ++ Unlocked I/O can improve performance in unithreaded apps, but it is not ++ safe for multithreaded apps. */ ++#define USE_UNLOCKED_IO 1 ++ ++/* Define if the Win32 multithreading API can be used. */ ++/* #undef USE_WIN32_THREADS */ ++ ++/* Version number of package */ ++#define VERSION "0.18.1" ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wchar_t'. */ ++#define WCHAR_T_SUFFIX ++ ++/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type ++ 'wint_t'. */ ++#define WINT_T_SUFFIX ++ ++/* Define to 1 if on MINIX. */ ++/* #undef _MINIX */ ++ ++/* Define to 2 if the system does not provide POSIX.1 features except with ++ this defined. */ ++/* #undef _POSIX_1_SOURCE */ ++ ++/* Define to 1 if you need to in order for `stat' and other things to work. */ ++/* #undef _POSIX_SOURCE */ ++ ++/* Define to 500 only on HP-UX. */ ++/* #undef _XOPEN_SOURCE */ ++ ++/* Enable extensions on AIX 3, Interix. */ ++#ifndef _ALL_SOURCE ++# define _ALL_SOURCE 1 ++#endif ++/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# define _GNU_SOURCE 1 ++#endif ++/* Enable threading extensions on Solaris. */ ++#ifndef _POSIX_PTHREAD_SEMANTICS ++# define _POSIX_PTHREAD_SEMANTICS 1 ++#endif ++/* Enable extensions on HP NonStop. */ ++#ifndef _TANDEM_SOURCE ++# define _TANDEM_SOURCE 1 ++#endif ++/* Enable general extensions on Solaris. */ ++#ifndef __EXTENSIONS__ ++# define __EXTENSIONS__ 1 ++#endif ++ ++ ++/* Define to rpl_ if the getopt replacement functions and variables should be ++ used. */ ++#define __GETOPT_PREFIX rpl_ ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++/* #undef gid_t */ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++/* #undef inline */ ++#endif ++ ++/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports ++ the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of ++ earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. ++ __APPLE__ && __MACH__ test for MacOS X. ++ __APPLE_CC__ tests for the Apple compiler and its version. ++ __STDC_VERSION__ tests for the C99 mode. */ ++#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ ++# define __GNUC_STDC_INLINE__ 1 ++#endif ++ ++/* Define to a type if <wchar.h> does not define. */ ++/* #undef mbstate_t */ ++ ++/* Define to the type of st_nlink in struct stat, or a supertype. */ ++/* #undef nlink_t */ ++ ++/* Define as the type of the result of subtracting two pointers, if the system ++ doesn't define it. */ ++/* #undef ptrdiff_t */ ++ ++/* Define to the equivalent of the C99 'restrict' keyword, or to ++ nothing if this is not supported. Do not define if restrict is ++ supported directly. */ ++#define restrict __restrict ++/* Work around a bug in Sun C++: it does not support _Restrict or ++ __restrict__, even though the corresponding Sun C compiler ends up with ++ "#define restrict _Restrict" or "#define restrict __restrict__" in the ++ previous line. Perhaps some future version of Sun C++ will work with ++ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ ++#if defined __SUNPRO_CC && !defined __RESTRICT ++# define _Restrict ++# define __restrict__ ++#endif ++ ++/* Define to `unsigned int' if <sys/types.h> does not define. */ ++/* #undef size_t */ ++ ++/* Define as a signed type of the same size as size_t. */ ++/* #undef ssize_t */ ++ ++/* Define to `int' if <sys/types.h> doesn't define. */ ++/* #undef uid_t */ ++ ++/* Define to unsigned long or unsigned long long if <stdint.h> and ++ <inttypes.h> don't define. */ ++/* #undef uintmax_t */ ++ ++/* Define as a marker that can be attached to declarations that might not ++ be used. This helps to reduce warnings, such as from ++ GCC -Wunused-parameter. */ ++#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) ++# define _GL_UNUSED __attribute__ ((__unused__)) ++#else ++# define _GL_UNUSED ++#endif ++/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name ++ is a misnomer outside of parameter lists. */ ++#define _UNUSED_PARAMETER_ _GL_UNUSED ++ ++ ++ ++#define __libc_lock_t gl_lock_t ++#define __libc_lock_define gl_lock_define ++#define __libc_lock_define_initialized gl_lock_define_initialized ++#define __libc_lock_init gl_lock_init ++#define __libc_lock_lock gl_lock_lock ++#define __libc_lock_unlock gl_lock_unlock ++#define __libc_lock_recursive_t gl_recursive_lock_t ++#define __libc_lock_define_recursive gl_recursive_lock_define ++#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized ++#define __libc_lock_init_recursive gl_recursive_lock_init ++#define __libc_lock_lock_recursive gl_recursive_lock_lock ++#define __libc_lock_unlock_recursive gl_recursive_lock_unlock ++#define glthread_in_use libintl_thread_in_use ++#define glthread_lock_init_func libintl_lock_init_func ++#define glthread_lock_lock_func libintl_lock_lock_func ++#define glthread_lock_unlock_func libintl_lock_unlock_func ++#define glthread_lock_destroy_func libintl_lock_destroy_func ++#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded ++#define glthread_rwlock_init_func libintl_rwlock_init_func ++#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded ++#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func ++#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded ++#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func ++#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded ++#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func ++#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded ++#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func ++#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded ++#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func ++#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded ++#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func ++#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded ++#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func ++#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded ++#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func ++#define glthread_once_func libintl_once_func ++#define glthread_once_singlethreaded libintl_once_singlethreaded ++#define glthread_once_multithreaded libintl_once_multithreaded ++ ++ ++ ++/* On Windows, variables that may be in a DLL must be marked specially. */ ++#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER ++# define DLL_VARIABLE __declspec (dllimport) ++#else ++# define DLL_VARIABLE ++#endif ++ ++/* Extra OS/2 (emx+gcc) defines. */ ++#ifdef __EMX__ ++# include "intl/os2compat.h" ++#endif ++#endif +--- misc/gettext-0.18.1.1/gettext-runtime/intl/libgnuintl.h Wed Aug 20 14:33:55 2008 ++++ misc/build/gettext-0.18.1.1/gettext-runtime/intl/libgnuintl.h Wed Aug 20 14:26:42 2008 +@@ -1,1 +1,477 @@ +-dummy ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2010 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#if 0 && BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) ++#elif defined _MSC_VER && BUILDING_DLL ++# define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED ++#endif ++ ++#include <locale.h> ++#if (defined __APPLE__ && defined __MACH__) ++# include <xlocale.h> ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes <libintl.h> (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001201 ++extern LIBINTL_DLL_EXPORTED ++#ifdef _WIN32 ++ __declspec (dllimport) ++#endif ++ int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to `gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to `dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to `dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern LIBINTL_DLL_EXPORTED char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern LIBINTL_DLL_EXPORTED char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern LIBINTL_DLL_EXPORTED char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern LIBINTL_DLL_EXPORTED char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include <libintl.h> or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !(defined __APPLE__ && defined __MACH__) ++ ++#include <stdio.h> ++#include <stddef.h> ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include <stdarg.h> ++#else ++# include <varargs.h> ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern LIBINTL_DLL_EXPORTED int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern LIBINTL_DLL_EXPORTED int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern LIBINTL_DLL_EXPORTED int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern LIBINTL_DLL_EXPORTED int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern LIBINTL_DLL_EXPORTED int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern LIBINTL_DLL_EXPORTED int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern LIBINTL_DLL_EXPORTED int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 0 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern LIBINTL_DLL_EXPORTED int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern LIBINTL_DLL_EXPORTED int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern LIBINTL_DLL_EXPORTED int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern LIBINTL_DLL_EXPORTED int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern LIBINTL_DLL_EXPORTED int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern LIBINTL_DLL_EXPORTED int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern LIBINTL_DLL_EXPORTED int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern LIBINTL_DLL_EXPORTED int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern LIBINTL_DLL_EXPORTED int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern LIBINTL_DLL_EXPORTED int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern LIBINTL_DLL_EXPORTED char *setlocale (int, const char *); ++ ++#if (defined __APPLE__ && defined __MACH__) ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern LIBINTL_DLL_EXPORTED locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern LIBINTL_DLL_EXPORTED void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ +--- misc/gettext-0.18.1.1/gettext-runtime/intl/libintl.h Wed Aug 20 14:33:55 2008 ++++ misc/build/gettext-0.18.1.1/gettext-runtime/intl/libintl.h Wed Aug 20 14:26:42 2008 +@@ -1 +1,465 @@ +-dummy ++/* Message catalogs for internationalization. ++ Copyright (C) 1995-1997, 2000-2010 Free Software Foundation, Inc. ++ ++ This program is free software; you can redistribute it and/or modify it ++ under the terms of the GNU Library General Public License as published ++ by the Free Software Foundation; either version 2, or (at your option) ++ any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Library General Public License for more details. ++ ++ You should have received a copy of the GNU Library General Public ++ License along with this program; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ USA. */ ++ ++#ifndef _LIBINTL_H ++#define _LIBINTL_H 1 ++ ++#include <locale.h> ++#if (defined __APPLE__ && defined __MACH__) ++# include <xlocale.h> ++#endif ++ ++/* The LC_MESSAGES locale category is the category used by the functions ++ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C. ++ On systems that don't define it, use an arbitrary value instead. ++ On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5) ++ then includes <libintl.h> (i.e. this file!) and then only defines ++ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES ++ in this case. */ ++#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun)) ++# define LC_MESSAGES 1729 ++#endif ++ ++/* We define an additional symbol to signal that we use the GNU ++ implementation of gettext. */ ++#define __USE_GNU_GETTEXT 1 ++ ++/* Provide information about the supported file formats. Returns the ++ maximum minor revision number supported for a given major revision. */ ++#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ ++ ((major) == 0 || (major) == 1 ? 1 : -1) ++ ++/* Resolve a platform specific conflict on DJGPP. GNU gettext takes ++ precedence over _conio_gettext. */ ++#ifdef __DJGPP__ ++# undef gettext ++#endif ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++ ++/* Version number: (major<<16) + (minor<<8) + subminor */ ++#define LIBINTL_VERSION 0x001201 ++extern int libintl_version; ++ ++ ++/* We redirect the functions to those prefixed with "libintl_". This is ++ necessary, because some systems define gettext/textdomain/... in the C ++ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer). ++ If we used the unprefixed names, there would be cases where the ++ definition in the C library would override the one in the libintl.so ++ shared library. Recall that on ELF systems, the symbols are looked ++ up in the following order: ++ 1. in the executable, ++ 2. in the shared libraries specified on the link command line, in order, ++ 3. in the dependencies of the shared libraries specified on the link ++ command line, ++ 4. in the dlopen()ed shared libraries, in the order in which they were ++ dlopen()ed. ++ The definition in the C library would override the one in libintl.so if ++ either ++ * -lc is given on the link command line and -lintl isn't, or ++ * -lc is given on the link command line before -lintl, or ++ * libintl.so is a dependency of a dlopen()ed shared library but not ++ linked to the executable at link time. ++ Since Solaris gettext() behaves differently than GNU gettext(), this ++ would be unacceptable. ++ ++ The redirection happens by default through macros in C, so that &gettext ++ is independent of the compilation unit, but through inline functions in ++ C++, in order not to interfere with the name mangling of class fields or ++ class methods called 'gettext'. */ ++ ++/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS. ++ If he doesn't, we choose the method. A third possible method is ++ _INTL_REDIRECT_ASM, supported only by GCC. */ ++#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS) ++# if defined __GNUC__ && __GNUC__ >= 2 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1) && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus) ++# define _INTL_REDIRECT_ASM ++# else ++# ifdef __cplusplus ++# define _INTL_REDIRECT_INLINE ++# else ++# define _INTL_REDIRECT_MACROS ++# endif ++# endif ++#endif ++/* Auxiliary macros. */ ++#ifdef _INTL_REDIRECT_ASM ++# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname)) ++# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring ++# define _INTL_STRINGIFY(prefix) #prefix ++#else ++# define _INTL_ASM(cname) ++#endif ++ ++/* _INTL_MAY_RETURN_STRING_ARG(n) declares that the given function may return ++ its n-th argument literally. This enables GCC to warn for example about ++ printf (gettext ("foo %y")). */ ++#if defined __GNUC__ && __GNUC__ >= 3 && !(defined __APPLE_CC__ && __APPLE_CC__ > 1 && defined __cplusplus) ++# define _INTL_MAY_RETURN_STRING_ARG(n) __attribute__ ((__format_arg__ (n))) ++#else ++# define _INTL_MAY_RETURN_STRING_ARG(n) ++#endif ++ ++/* Look up MSGID in the current default message catalog for the current ++ LC_MESSAGES locale. If not found, returns MSGID itself (the default ++ text). */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_gettext (const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++static inline char *gettext (const char *__msgid) ++{ ++ return libintl_gettext (__msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define gettext libintl_gettext ++#endif ++extern char *gettext (const char *__msgid) ++ _INTL_ASM (libintl_gettext) ++ _INTL_MAY_RETURN_STRING_ARG (1); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current ++ LC_MESSAGES locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_dgettext (const char *__domainname, const char *__msgid) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dgettext (const char *__domainname, const char *__msgid) ++{ ++ return libintl_dgettext (__domainname, __msgid); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dgettext libintl_dgettext ++#endif ++extern char *dgettext (const char *__domainname, const char *__msgid) ++ _INTL_ASM (libintl_dgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY ++ locale. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++{ ++ return libintl_dcgettext (__domainname, __msgid, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcgettext libintl_dcgettext ++#endif ++extern char *dcgettext (const char *__domainname, const char *__msgid, ++ int __category) ++ _INTL_ASM (libintl_dcgettext) ++ _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++ ++/* Similar to `gettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++static inline char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++{ ++ return libintl_ngettext (__msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define ngettext libintl_ngettext ++#endif ++extern char *ngettext (const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_ngettext) ++ _INTL_MAY_RETURN_STRING_ARG (1) _INTL_MAY_RETURN_STRING_ARG (2); ++#endif ++ ++/* Similar to `dgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dngettext (const char *__domainname, const char *__msgid1, ++ const char *__msgid2, unsigned long int __n) ++{ ++ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dngettext libintl_dngettext ++#endif ++extern char *dngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n) ++ _INTL_ASM (libintl_dngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++/* Similar to `dcgettext' but select the plural form corresponding to the ++ number N. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++static inline char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++{ ++ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define dcngettext libintl_dcngettext ++#endif ++extern char *dcngettext (const char *__domainname, ++ const char *__msgid1, const char *__msgid2, ++ unsigned long int __n, int __category) ++ _INTL_ASM (libintl_dcngettext) ++ _INTL_MAY_RETURN_STRING_ARG (2) _INTL_MAY_RETURN_STRING_ARG (3); ++#endif ++ ++ ++ ++/* Set the current default message catalog to DOMAINNAME. ++ If DOMAINNAME is null, return the current default. ++ If DOMAINNAME is "", reset to the default of "messages". */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_textdomain (const char *__domainname); ++static inline char *textdomain (const char *__domainname) ++{ ++ return libintl_textdomain (__domainname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define textdomain libintl_textdomain ++#endif ++extern char *textdomain (const char *__domainname) ++ _INTL_ASM (libintl_textdomain); ++#endif ++ ++/* Specify that the DOMAINNAME message catalog will be found ++ in DIRNAME rather than in the system locale data base. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_bindtextdomain (const char *__domainname, ++ const char *__dirname); ++static inline char *bindtextdomain (const char *__domainname, ++ const char *__dirname) ++{ ++ return libintl_bindtextdomain (__domainname, __dirname); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bindtextdomain libintl_bindtextdomain ++#endif ++extern char *bindtextdomain (const char *__domainname, const char *__dirname) ++ _INTL_ASM (libintl_bindtextdomain); ++#endif ++ ++/* Specify the character encoding in which the messages from the ++ DOMAINNAME message catalog will be returned. */ ++#ifdef _INTL_REDIRECT_INLINE ++extern char *libintl_bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset); ++static inline char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++{ ++ return libintl_bind_textdomain_codeset (__domainname, __codeset); ++} ++#else ++#ifdef _INTL_REDIRECT_MACROS ++# define bind_textdomain_codeset libintl_bind_textdomain_codeset ++#endif ++extern char *bind_textdomain_codeset (const char *__domainname, ++ const char *__codeset) ++ _INTL_ASM (libintl_bind_textdomain_codeset); ++#endif ++ ++ ++ ++/* Support for format strings with positions in *printf(), following the ++ POSIX/XSI specification. ++ Note: These replacements for the *printf() functions are visible only ++ in source files that #include <libintl.h> or #include "gettext.h". ++ Packages that use *printf() in source files that don't refer to _() ++ or gettext() but for which the format string could be the return value ++ of _() or gettext() need to add this #include. Oh well. */ ++ ++#if !(defined __APPLE__ && defined __MACH__) ++ ++#include <stdio.h> ++#include <stddef.h> ++ ++/* Get va_list. */ ++#if (defined __STDC__ && __STDC__) || defined __cplusplus || defined _MSC_VER ++# include <stdarg.h> ++#else ++# include <varargs.h> ++#endif ++ ++#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef fprintf ++#define fprintf libintl_fprintf ++extern int fprintf (FILE *, const char *, ...); ++#endif ++#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vfprintf ++#define vfprintf libintl_vfprintf ++extern int vfprintf (FILE *, const char *, va_list); ++#endif ++ ++#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef printf ++#if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined __MINGW32__ ++/* Don't break __attribute__((format(printf,M,N))). ++ This redefinition is only possible because the libc in NetBSD, Cygwin, ++ mingw does not have a function __printf__. ++ Alternatively, we could have done this redirection only when compiling with ++ __GNUC__, together with a symbol redirection: ++ extern int printf (const char *, ...) ++ __asm__ (#__USER_LABEL_PREFIX__ "libintl_printf"); ++ But doing it now would introduce a binary incompatibility with already ++ distributed versions of libintl on these systems. */ ++# define libintl_printf __printf__ ++#endif ++#define printf libintl_printf ++extern int printf (const char *, ...); ++#endif ++#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vprintf ++#define vprintf libintl_vprintf ++extern int vprintf (const char *, va_list); ++#endif ++ ++#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef sprintf ++#define sprintf libintl_sprintf ++extern int sprintf (char *, const char *, ...); ++#endif ++#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsprintf ++#define vsprintf libintl_vsprintf ++extern int vsprintf (char *, const char *, va_list); ++#endif ++ ++#if 0 ++ ++#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef snprintf ++#define snprintf libintl_snprintf ++extern int snprintf (char *, size_t, const char *, ...); ++#endif ++#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vsnprintf ++#define vsnprintf libintl_vsnprintf ++extern int vsnprintf (char *, size_t, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef asprintf ++#define asprintf libintl_asprintf ++extern int asprintf (char **, const char *, ...); ++#endif ++#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */ ++#undef vasprintf ++#define vasprintf libintl_vasprintf ++extern int vasprintf (char **, const char *, va_list); ++#endif ++ ++#endif ++ ++#if 0 ++ ++#undef fwprintf ++#define fwprintf libintl_fwprintf ++extern int fwprintf (FILE *, const wchar_t *, ...); ++#undef vfwprintf ++#define vfwprintf libintl_vfwprintf ++extern int vfwprintf (FILE *, const wchar_t *, va_list); ++ ++#undef wprintf ++#define wprintf libintl_wprintf ++extern int wprintf (const wchar_t *, ...); ++#undef vwprintf ++#define vwprintf libintl_vwprintf ++extern int vwprintf (const wchar_t *, va_list); ++ ++#undef swprintf ++#define swprintf libintl_swprintf ++extern int swprintf (wchar_t *, size_t, const wchar_t *, ...); ++#undef vswprintf ++#define vswprintf libintl_vswprintf ++extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for the locale chosen by the user. */ ++#if (defined __APPLE__ && defined __MACH__) || defined _WIN32 || defined __WIN32__ || defined __CYGWIN__ ++ ++#undef setlocale ++#define setlocale libintl_setlocale ++extern char *setlocale (int, const char *); ++ ++#if (defined __APPLE__ && defined __MACH__) ++ ++#undef newlocale ++#define newlocale libintl_newlocale ++extern locale_t newlocale (int, const char *, locale_t); ++ ++#endif ++ ++#endif ++ ++ ++/* Support for relocatable packages. */ ++ ++/* Sets the original and the current installation prefix of the package. ++ Relocation simply replaces a pathname starting with the original prefix ++ by the corresponding pathname with the current prefix instead. Both ++ prefixes should be directory names without trailing slash (i.e. use "" ++ instead of "/"). */ ++#define libintl_set_relocation_prefix libintl_set_relocation_prefix ++extern void ++ libintl_set_relocation_prefix (const char *orig_prefix, ++ const char *curr_prefix); ++ ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* libintl.h */ ++ diff --git a/gettext/makefile.mk b/gettext/makefile.mk new file mode 100644 index 000000000000..b6443f5fafb5 --- /dev/null +++ b/gettext/makefile.mk @@ -0,0 +1,129 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=gettext +TARGET=so_gettext + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_GETTEXT)" == "YES" +all: + @echo "An already available installation of gettext should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +GETTEXTVERSION=0.18.1.1 + +TARFILE_NAME=$(PRJNAME)-$(GETTEXTVERSION) +TARFILE_MD5=3dd55b952826d2b32f51308f2f91aa89 + +PATCH_FILES= + + +.IF "$(OS)"=="MACOSX" + +CONFIGURE_DIR= +CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) +CONFIGURE_FLAGS=--disable-dependeny-tracking --disable-acl --disable-curses --without-emacs --without-git --disable-java +CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+= --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(GNUMAKE) +BUILD_DIR=$(CONFIGURE_DIR) + +EXTRPATH=LOADER +OUT2LIB+=gettext-tools/intl/.libs/libintl.*.dylib +OUT2LIB+=gettext-runtime/libasprintf/.libs/libasprintf.*.dylib +OUT2LIB+=gettext-tools/gnulib-lib/.libs/libgettextlib-*.dylib +OUT2LIB+=gettext-tools/src/.libs/libgettextsrc-*.dylib +OUT2LIB+=gettext-tools/libgettextpo/.libs/libgettextpo.*.dylib + +OUT2INC+=gettext-tools/intl/libintl.h +OUT2INC+=gettext-runtime/libasprintf/autosprintf.h +OUT2INC+=gettext-tools/libgettextpo/gettext-po.h + +OUT2BIN+=gettext-tools/src/.libs/msgattrib +OUT2BIN+=gettext-tools/src/.libs/msgcat +OUT2BIN+=gettext-tools/src/.libs/msgcmp +OUT2BIN+=gettext-tools/src/.libs/msgcomm +OUT2BIN+=gettext-tools/src/.libs/msgconv +OUT2BIN+=gettext-tools/src/.libs/msgen +OUT2BIN+=gettext-tools/src/.libs/msgexec +OUT2BIN+=gettext-tools/src/.libs/msgfilter +OUT2BIN+=gettext-tools/src/.libs/msgfmt +OUT2BIN+=gettext-tools/src/.libs/msggrep +OUT2BIN+=gettext-tools/src/.libs/msginit +OUT2BIN+=gettext-tools/src/.libs/msgmerge +OUT2BIN+=gettext-tools/src/.libs/msgunfmt +OUT2BIN+=gettext-tools/src/.libs/msguniq +OUT2BIN+=gettext-tools/src/.libs/urlget +OUT2BIN+=gettext-tools/src/.libs/xgettext + +.ELIF "$(OS)"=="IOS" + +BUILD_DIR=gettext-runtime/intl +BUILD_ACTION=dmake +.IF "$(VERBOSE)"!="" +BUILD_ACTION+=VERBOSE=t +.ENDIF +PATCH_FILES=gettext-0.18.1.1.patch +ADDITIONAL_FILES=\ + gettext-runtime/intl/makefile.mk \ + gettext-runtime/intl/libgnuintl.h \ + gettext-runtime/intl/libintl.h \ + gettext-runtime/config.h +OUT2INC+=gettext-runtime/intl/libintl.h + +.ELIF "$(OS)"=="WNT" + +BUILD_DIR=gettext-runtime/intl +BUILD_ACTION=dmake +PATCH_FILES=gettext-0.18.1.1.patch +ADDITIONAL_FILES=\ + gettext-runtime/intl/makefile.mk \ + gettext-runtime/intl/libgnuintl.h \ + gettext-runtime/intl/libintl.h \ + gettext-runtime/config.h +OUT2INC+=gettext-runtime/intl/libintl.h +.ELSE +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/gettext/prj/build.lst b/gettext/prj/build.lst new file mode 100644 index 000000000000..cf38e63c826f --- /dev/null +++ b/gettext/prj/build.lst @@ -0,0 +1,3 @@ +gt gettext : sal soltools NULL +gt gettext usr1 - all gt_mkout NULL +gt gettext nmake - all gt_gettext NULL diff --git a/gettext/prj/d.lst b/gettext/prj/d.lst new file mode 100644 index 000000000000..811b4b1c60fb --- /dev/null +++ b/gettext/prj/d.lst @@ -0,0 +1,31 @@ +mkdir: %_DEST%\inc\external +..\%__SRC%\inc\*.h %_DEST%\inc\external\*.h +..\%__SRC%\lib\libasprintf.0.dylib %_DEST%\lib\libasprintf.0.dylib +symlink: %_DEST%\lib\libasprintf.0.dylib %_DEST%\lib\libasprintf.dylib +..\%__SRC%\lib\libgettextpo.0.dylib %_DEST%\lib\libgettextpo.0.dylib +symlink: %_DEST%\lib\libgettextpo.0.dylib %_DEST%\lib\libgettextpo.dylib +..\%__SRC%\lib\libgettextsrc-0.18.1.dylib %_DEST%\lib\libgettextsrc-0.18.1.dylib +symlink: %_DEST%\lib\libgettextsrc-0.18.1.dylib %_DEST%\lib\libgettextsrc.dylib +..\%__SRC%\lib\libintl.8.dylib %_DEST%\lib\libintl.8.dylib +symlink: %_DEST%\lib\libintl.8.dylib %_DEST%\lib\libintl.dylib +..\%__SRC%\lib\libgettextlib-0.18.1.dylib %_DEST%\lib\libgettextlib-0.18.1.dylib +symlink: %_DEST%\lib\libgettextlib-0.18.1.dylib %_DEST%\lib\libgettextlib.dylib +..\%__SRC%\lib\libintl.a %_DEST%\lib\libintl.a +..\%__SRC%\bin\*.dll %_DEST%\bin +..\%__SRC%\bin\msgattrib %_DEST%\bin\msgattrib +..\%__SRC%\bin\msgcat %_DEST%\bin\msgcat +..\%__SRC%\bin\msgcmp %_DEST%\bin\msgcmp +..\%__SRC%\bin\msgcomm %_DEST%\bin\msgcomm +..\%__SRC%\bin\msgconv %_DEST%\bin\msgconv +..\%__SRC%\bin\msgen %_DEST%\bin\msgen +..\%__SRC%\bin\msgexec %_DEST%\bin\msgexec +..\%__SRC%\bin\msgfilter %_DEST%\bin\msgfilter +..\%__SRC%\bin\msgfmt %_DEST%\bin\msgfmt +..\%__SRC%\bin\msggrep %_DEST%\bin\msggrep +..\%__SRC%\bin\msginit %_DEST%\bin\msginit +..\%__SRC%\bin\msgmerge %_DEST%\bin\msgmerge +..\%__SRC%\bin\msgunfmt %_DEST%\bin\msgunfmt +..\%__SRC%\bin\msguniq %_DEST%\bin\msguniq +..\%__SRC%\bin\urlget %_DEST%\bin\urlget +..\%__SRC%\bin\xgettext %_DEST%\bin\xgettext +..\%__SRC%\lib\iintl_t1.lib %_DEST%\lib\intl.lib diff --git a/glib/glib-2.28.1-win32-2.patch b/glib/glib-2.28.1-win32-2.patch new file mode 100644 index 000000000000..ee4b868f6b1a --- /dev/null +++ b/glib/glib-2.28.1-win32-2.patch @@ -0,0 +1,553 @@ +--- misc/glib-2.28.1/build/win32/make.msc 2011-04-01 16:52:15.676157900 +0200 ++++ misc/build/glib-2.28.1/build/win32/make.msc 2011-04-01 16:52:02.168385300 +0200 +@@ -55,7 +55,7 @@ + BABL_LIBS = $(BABL)\babl\babl-1.0.lib + + # force inclusion of the _right_ cairoversion.h even when using without installation +-CAIRO_CFLAGS = -FI $(CAIRO)\cairo-version.h -I $(CAIRO)\src -I $(CAIRO) ++CAIRO_CFLAGS = -I $(CAIRO)\src -I $(CAIRO) + CAIRO_LIBS = $(CAIRO)\src\libcairo.lib + + DIRENT_CFLAGS = -I ..\build\win32\dirent +--- misc/glib-2.28.1/gobject/glib-mkenums 2011-04-01 16:52:15.155128100 +0200 ++++ misc/build/glib-2.28.1/gobject/glib-mkenums 2011-04-01 16:51:30.994602300 +0200 +@@ -1 +1,538 @@ +-dummy ++#! perl.exe ++ ++use warnings; ++use File::Basename; ++use Safe; ++ ++# glib-mkenums.pl ++# Information about the current enumeration ++my $flags; # Is enumeration a bitmask? ++my $option_underscore_name; # Overriden underscore variant of the enum name ++ # for example to fix the cases we don't get the ++ # mixed-case -> underscorized transform right. ++my $option_lowercase_name; # DEPRECATED. A lower case name to use as part ++ # of the *_get_type() function, instead of the ++ # one that we guess. For instance, when an enum ++ # uses abnormal capitalization and we can not ++ # guess where to put the underscores. ++my $seenbitshift; # Have we seen bitshift operators? ++my $enum_prefix; # Prefix for this enumeration ++my $enumname; # Name for this enumeration ++my $enumshort; # $enumname without prefix ++my $enumname_prefix; # prefix of $enumname ++my $enumindex = 0; # Global enum counter ++my $firstenum = 1; # Is this the first enumeration per file? ++my @entries; # [ $name, $val ] for each entry ++my $sandbox = Safe->new; # sandbox for safe evaluation of expressions ++ ++sub parse_trigraph { ++ my $opts = shift; ++ my @opts; ++ ++ for $opt (split /\s*,\s*/, $opts) { ++ $opt =~ s/^\s*//; ++ $opt =~ s/\s*$//; ++ my ($key,$val) = $opt =~ /(\w+)(?:=(.+))?/; ++ defined $val or $val = 1; ++ push @opts, $key, $val; ++ } ++ @opts; ++} ++sub parse_entries { ++ my $file = shift; ++ my $file_name = shift; ++ my $looking_for_name = 0; ++ ++ while (<$file>) { ++ # read lines until we have no open comments ++ while (m@/\*([^*]|\*(?!/))*$@) { ++ my $new; ++ defined ($new = <$file>) || die "Unmatched comment in $ARGV"; ++ $_ .= $new; ++ } ++ # strip comments w/o options ++ s@/\*(?!<) ++ ([^*]+|\*(?!/))* ++ \*/@@gx; ++ ++ # strip newlines ++ s@\n@ @; ++ ++ # skip empty lines ++ next if m@^\s*$@; ++ ++ if ($looking_for_name) { ++ if (/^\s*(\w+)/) { ++ $enumname = $1; ++ return 1; ++ } ++ } ++ ++ # Handle include files ++ if (/^\#include\s*<([^>]*)>/ ) { ++ my $file= "../$1"; ++ open NEWFILE, $file or die "Cannot open include file $file: $!\n"; ++ ++ if (parse_entries (\*NEWFILE, $NEWFILE)) { ++ return 1; ++ } else { ++ next; ++ } ++ } ++ ++ if (/^\s*\}\s*(\w+)/) { ++ $enumname = $1; ++ $enumindex++; ++ return 1; ++ } ++ ++ if (/^\s*\}/) { ++ $enumindex++; ++ $looking_for_name = 1; ++ next; ++ } ++ ++ if (m@^\s* ++ (\w+)\s* # name ++ (?:=( # value ++ \s*\w+\s*\(.*\)\s* # macro with multiple args ++ | # OR ++ (?:[^,/]|/(?!\*))* # anything but a comma or comment ++ ))?,?\s* ++ (?:/\*< # options ++ (([^*]|\*(?!/))*) ++ >\s*\*/)?,? ++ \s*$ ++ @x) { ++ my ($name, $value, $options) = ($1,$2,$3); ++ ++ if (!defined $flags && defined $value && $value =~ /<</) { ++ $seenbitshift = 1; ++ } ++ ++ if (defined $options) { ++ my %options = parse_trigraph($options); ++ if (!defined $options{skip}) { ++ push @entries, [ $name, $value, $options{nick} ]; ++ } ++ } else { ++ push @entries, [ $name, $value ]; ++ } ++ } elsif (m@^\s*\#@) { ++ # ignore preprocessor directives ++ } else { ++ print STDERR "$0: $file_name:$.: Failed to parse `$_'\n"; ++ } ++ } ++ ++ return 0; ++} ++ ++sub version { ++ print "glib-mkenums version glib-@GLIB_VERSION@\n"; ++ print "glib-mkenums comes with ABSOLUTELY NO WARRANTY.\n"; ++ print "You may redistribute copies of glib-mkenums under the terms of\n"; ++ print "the GNU General Public License which can be found in the\n"; ++ print "GLib source package. Sources, examples and contact\n"; ++ print "information are available at http://www.gtk.org\n"; ++ exit 0; ++} ++sub usage { ++ print "Usage:\n"; ++ print " glib-mkenums [OPTION...] [FILES...]\n\n"; ++ print "Help Options:\n"; ++ print " -h, --help Show this help message\n\n"; ++ print "Utility Options:\n"; ++ print " --fhead <text> Output file header\n"; ++ print " --fprod <text> Per input file production\n"; ++ print " --ftail <text> Output file trailer\n"; ++ print " --eprod <text> Per enum text (produced prior to value itarations)\n"; ++ print " --vhead <text> Value header, produced before iterating over enum values\n"; ++ print " --vprod <text> Value text, produced for each enum value\n"; ++ print " --vtail <text> Value tail, produced after iterating over enum values\n"; ++ print " --comments <text> Comment structure\n"; ++ print " --template file Template file\n"; ++ print " -v, --version Print version informations\n\n"; ++ print "Production text substitutions:\n"; ++ print " \@EnumName\@ PrefixTheXEnum\n"; ++ print " \@enum_name\@ prefix_the_xenum\n"; ++ print " \@ENUMNAME\@ PREFIX_THE_XENUM\n"; ++ print " \@ENUMSHORT\@ THE_XENUM\n"; ++ print " \@ENUMPREFIX\@ PREFIX\n"; ++ print " \@VALUENAME\@ PREFIX_THE_XVALUE\n"; ++ print " \@valuenick\@ the-xvalue\n"; ++ print " \@valuenum\@ the integer value (limited support, Since: 2.26)\n"; ++ print " \@type\@ either enum or flags\n"; ++ print " \@Type\@ either Enum or Flags\n"; ++ print " \@TYPE\@ either ENUM or FLAGS\n"; ++ print " \@filename\@ name of current input file\n"; ++ print " \@basename\@ base name of the current input file (Since: 2.22)\n"; ++ exit 0; ++} ++ ++# production variables: ++my $fhead = ""; # output file header ++my $fprod = ""; # per input file production ++my $ftail = ""; # output file trailer ++my $eprod = ""; # per enum text (produced prior to value itarations) ++my $vhead = ""; # value header, produced before iterating over enum values ++my $vprod = ""; # value text, produced for each enum value ++my $vtail = ""; # value tail, produced after iterating over enum values ++my $comment_tmpl = ""; # comment template ++ ++sub read_template_file { ++ my ($file) = @_; ++ my %tmpl = ('file-header', $fhead, ++ 'file-production', $fprod, ++ 'file-tail', $ftail, ++ 'enumeration-production', $eprod, ++ 'value-header', $vhead, ++ 'value-production', $vprod, ++ 'value-tail', $vtail, ++ 'comment', $comment_tmpl); ++ my $in = 'junk'; ++ open (FILE, $file) || die "Can't open $file: $!\n"; ++ while (<FILE>) { ++ if (/^\/\*\*\*\s+(BEGIN|END)\s+([\w-]+)\s+\*\*\*\//) { ++ if (($in eq 'junk') && ($1 eq 'BEGIN') && (exists($tmpl{$2}))) { ++ $in = $2; ++ next; ++ } ++ elsif (($in eq $2) && ($1 eq 'END') && (exists($tmpl{$2}))) { ++ $in = 'junk'; ++ next; ++ } else { ++ die "Malformed template file $file\n"; ++ } ++ } ++ if (!($in eq 'junk')) { ++ $tmpl{$in} .= $_; ++ } ++ } ++ close (FILE); ++ if (!($in eq 'junk')) { ++ die "Malformed template file $file\n"; ++ } ++ $fhead = $tmpl{'file-header'}; ++ $fprod = $tmpl{'file-production'}; ++ $ftail = $tmpl{'file-tail'}; ++ $eprod = $tmpl{'enumeration-production'}; ++ $vhead = $tmpl{'value-header'}; ++ $vprod = $tmpl{'value-production'}; ++ $vtail = $tmpl{'value-tail'}; ++ $comment_tmpl = $tmpl{'comment'}; ++ ++ # default to C-style comments ++ $comment_tmpl = "/* \@comment\@ */" if $comment_tmpl eq ""; ++} ++ ++if (!defined $ARGV[0]) { ++ usage; ++} ++while ($_=$ARGV[0],/^-/) { ++ shift; ++ last if /^--$/; ++ if (/^--template$/) { read_template_file (shift); } ++ elsif (/^--fhead$/) { $fhead = $fhead . shift } ++ elsif (/^--fprod$/) { $fprod = $fprod . shift } ++ elsif (/^--ftail$/) { $ftail = $ftail . shift } ++ elsif (/^--eprod$/) { $eprod = $eprod . shift } ++ elsif (/^--vhead$/) { $vhead = $vhead . shift } ++ elsif (/^--vprod$/) { $vprod = $vprod . shift } ++ elsif (/^--vtail$/) { $vtail = $vtail . shift } ++ elsif (/^--comments$/) { $comment_tmpl = shift } ++ elsif (/^--help$/ || /^-h$/ || /^-\?$/) { usage; } ++ elsif (/^--version$/ || /^-v$/) { version; } ++ else { usage; } ++ last if not defined($ARGV[0]); ++} ++ ++# put auto-generation comment ++{ ++ my $comment = $comment_tmpl; ++ $comment =~ s/\@comment\@/Generated data (by glib-mkenums)/; ++ print "\n" . $comment . "\n\n"; ++} ++ ++if (length($fhead)) { ++ my $prod = $fhead; ++ my $base = basename ($ARGV[0]); ++ ++ $prod =~ s/\@filename\@/$ARGV[0]/g; ++ $prod =~ s/\@basename\@/$base/g; ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++} ++ ++while (<>) { ++ if (eof) { ++ close (ARGV); # reset line numbering ++ $firstenum = 1; # Flag to print filename at next enum ++ } ++ ++ # read lines until we have no open comments ++ while (m@/\*([^*]|\*(?!/))*$@) { ++ my $new; ++ defined ($new = <>) || die "Unmatched comment in $ARGV"; ++ $_ .= $new; ++ } ++ # strip comments w/o options ++ s@/\*(?!<) ++ ([^*]+|\*(?!/))* ++ \*/@@gx; ++ ++ if (m@^\s*typedef\s+enum\s* ++ ({)?\s* ++ (?:/\*< ++ (([^*]|\*(?!/))*) ++ >\s*\*/)? ++ \s*({)? ++ @x) { ++ if (defined $2) { ++ my %options = parse_trigraph ($2); ++ next if defined $options{skip}; ++ $enum_prefix = $options{prefix}; ++ $flags = $options{flags}; ++ $option_lowercase_name = $options{lowercase_name}; ++ $option_underscore_name = $options{underscore_name}; ++ } else { ++ $enum_prefix = undef; ++ $flags = undef; ++ $option_lowercase_name = undef; ++ $option_underscore_name = undef; ++ } ++ if (defined $option_lowercase_name) { ++ if (defined $option_underscore_name) { ++ print STDERR "$0: $ARGV:$.: lowercase_name overriden with underscore_name\n"; ++ $option_lowercase_name = undef; ++ } else { ++ print STDERR "$0: $ARGV:$.: lowercase_name is deprecated, use underscore_name\n"; ++ } ++ } ++ # Didn't have trailing '{' look on next lines ++ if (!defined $1 && !defined $4) { ++ while (<>) { ++ if (s/^\s*\{//) { ++ last; ++ } ++ } ++ } ++ ++ $seenbitshift = 0; ++ @entries = (); ++ ++ # Now parse the entries ++ parse_entries (\*ARGV, $ARGV); ++ ++ # figure out if this was a flags or enums enumeration ++ if (!defined $flags) { ++ $flags = $seenbitshift; ++ } ++ ++ # Autogenerate a prefix ++ if (!defined $enum_prefix) { ++ for (@entries) { ++ my $nick = $_->[2]; ++ if (!defined $nick) { ++ my $name = $_->[0]; ++ if (defined $enum_prefix) { ++ my $tmp = ~ ($name ^ $enum_prefix); ++ ($tmp) = $tmp =~ /(^\xff*)/; ++ $enum_prefix = $enum_prefix & $tmp; ++ } else { ++ $enum_prefix = $name; ++ } ++ } ++ } ++ if (!defined $enum_prefix) { ++ $enum_prefix = ""; ++ } else { ++ # Trim so that it ends in an underscore ++ $enum_prefix =~ s/_[^_]*$/_/; ++ } ++ } else { ++ # canonicalize user defined prefixes ++ $enum_prefix = uc($enum_prefix); ++ $enum_prefix =~ s/-/_/g; ++ $enum_prefix =~ s/(.*)([^_])$/$1$2_/; ++ } ++ ++ for $entry (@entries) { ++ my ($name,$num,$nick) = @{$entry}; ++ if (!defined $nick) { ++ ($nick = $name) =~ s/^$enum_prefix//; ++ $nick =~ tr/_/-/; ++ $nick = lc($nick); ++ @{$entry} = ($name, $num, $nick); ++ } ++ } ++ ++ ++ # Spit out the output ++ if (defined $option_underscore_name) { ++ $enumlong = uc $option_underscore_name; ++ $enumsym = lc $option_underscore_name; ++ $enumshort = $enumlong; ++ $enumshort =~ s/^[A-Z][A-Z0-9]*_//; ++ ++ $enumname_prefix = $enumlong; ++ $enumname_prefix =~ s/$enumshort$//; ++ } else { ++ # enumname is e.g. GMatchType ++ $enspace = $enumname; ++ $enspace =~ s/^([A-Z][a-z]*).*$/$1/; ++ ++ $enumshort = $enumname; ++ $enumshort =~ s/^[A-Z][a-z]*//; ++ $enumshort =~ s/([^A-Z])([A-Z])/$1_$2/g; ++ $enumshort =~ s/([A-Z][A-Z])([A-Z][0-9a-z])/$1_$2/g; ++ $enumshort = uc($enumshort); ++ ++ $enumname_prefix = $enumname; ++ $enumname_prefix =~ s/^([A-Z][a-z]*).*$/$1/; ++ $enumname_prefix = uc($enumname_prefix); ++ ++ $enumlong = uc($enspace) . "_" . $enumshort; ++ $enumsym = lc($enspace) . "_" . lc($enumshort); ++ ++ if (defined($option_lowercase_name)) { ++ $enumsym = $option_lowercase_name; ++ } ++ } ++ ++ if ($firstenum) { ++ $firstenum = 0; ++ ++ if (length($fprod)) { ++ my $prod = $fprod; ++ my $base = basename ($ARGV); ++ ++ $prod =~ s/\@filename\@/$ARGV/g; ++ $prod =~ s/\@basename\@/$base/g; ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++ } ++ } ++ ++ if (length($eprod)) { ++ my $prod = $eprod; ++ ++ $prod =~ s/\@enum_name\@/$enumsym/g; ++ $prod =~ s/\@EnumName\@/$enumname/g; ++ $prod =~ s/\@ENUMSHORT\@/$enumshort/g; ++ $prod =~ s/\@ENUMNAME\@/$enumlong/g; ++ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g; ++ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; } ++ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; } ++ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; } ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++ } ++ ++ if (length($vhead)) { ++ my $prod = $vhead; ++ ++ $prod =~ s/\@enum_name\@/$enumsym/g; ++ $prod =~ s/\@EnumName\@/$enumname/g; ++ $prod =~ s/\@ENUMSHORT\@/$enumshort/g; ++ $prod =~ s/\@ENUMNAME\@/$enumlong/g; ++ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g; ++ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; } ++ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; } ++ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; } ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++ } ++ ++ if (length($vprod)) { ++ my $prod = $vprod; ++ my $next_num = 0; ++ ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ for (@entries) { ++ my ($name,$num,$nick) = @{$_}; ++ my $tmp_prod = $prod; ++ ++ if ($prod =~ /\@valuenum\@/) { ++ # only attempt to eval the value if it is requested ++ # this prevents us from throwing errors otherwise ++ if (defined $num) { ++ # use sandboxed perl evaluation as a reasonable ++ # approximation to C constant folding ++ $num = $sandbox->reval ($num); ++ ++ # make sure it parsed to an integer ++ if (!defined $num or $num !~ /^-?\d+$/) { ++ die "Unable to parse enum value '$num'"; ++ } ++ } else { ++ $num = $next_num; ++ } ++ ++ $tmp_prod =~ s/\@valuenum\@/$num/g; ++ $next_num = $num + 1; ++ } ++ ++ $tmp_prod =~ s/\@VALUENAME\@/$name/g; ++ $tmp_prod =~ s/\@valuenick\@/$nick/g; ++ if ($flags) { $tmp_prod =~ s/\@type\@/flags/g; } else { $tmp_prod =~ s/\@type\@/enum/g; } ++ if ($flags) { $tmp_prod =~ s/\@Type\@/Flags/g; } else { $tmp_prod =~ s/\@Type\@/Enum/g; } ++ if ($flags) { $tmp_prod =~ s/\@TYPE\@/FLAGS/g; } else { $tmp_prod =~ s/\@TYPE\@/ENUM/g; } ++ chomp ($tmp_prod); ++ ++ print "$tmp_prod\n"; ++ } ++ } ++ ++ if (length($vtail)) { ++ my $prod = $vtail; ++ ++ $prod =~ s/\@enum_name\@/$enumsym/g; ++ $prod =~ s/\@EnumName\@/$enumname/g; ++ $prod =~ s/\@ENUMSHORT\@/$enumshort/g; ++ $prod =~ s/\@ENUMNAME\@/$enumlong/g; ++ $prod =~ s/\@ENUMPREFIX\@/$enumname_prefix/g; ++ if ($flags) { $prod =~ s/\@type\@/flags/g; } else { $prod =~ s/\@type\@/enum/g; } ++ if ($flags) { $prod =~ s/\@Type\@/Flags/g; } else { $prod =~ s/\@Type\@/Enum/g; } ++ if ($flags) { $prod =~ s/\@TYPE\@/FLAGS/g; } else { $prod =~ s/\@TYPE\@/ENUM/g; } ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++ } ++ } ++} ++ ++if (length($ftail)) { ++ my $prod = $ftail; ++ my $base = basename ($ARGV); ++ ++ $prod =~ s/\@filename\@/$ARGV/g; ++ $prod =~ s/\@basename\@/$base/g; ++ $prod =~ s/\\a/\a/g; $prod =~ s/\\b/\b/g; $prod =~ s/\\t/\t/g; $prod =~ s/\\n/\n/g; ++ $prod =~ s/\\f/\f/g; $prod =~ s/\\r/\r/g; ++ chomp ($prod); ++ ++ print "$prod\n"; ++} ++ ++# put auto-generation comment ++{ ++ my $comment = $comment_tmpl; ++ $comment =~ s/\@comment\@/Generated data ends here/; ++ print "\n" . $comment . "\n\n"; ++} diff --git a/glib/glib-2.28.1-win32.patch b/glib/glib-2.28.1-win32.patch new file mode 100644 index 000000000000..3089f938b17c --- /dev/null +++ b/glib/glib-2.28.1-win32.patch @@ -0,0 +1,1994 @@ +--- misc/glib-2.28.1/build/win32/dirent/makefile.msc 2009-04-01 01:04:20.000000000 +0200 ++++ misc/build/glib-2.28.1/build/win32/dirent/makefile.msc 2011-03-04 09:06:56.391118000 +0100 +@@ -1,10 +1,10 @@ + TOP = ..\..\..\.. + +-!INCLUDE $(TOP)\glib\build\win32\make.msc ++!INCLUDE ..\make.msc + + dirent_OBJECTS = dirent.obj wdirent.obj + +-INCLUDES = -I. ++INCLUDES = -I. $(SOLARINC) + + all : dirent.lib + +@@ -12,5 +12,5 @@ + lib /out:dirent.lib /nodefaultlib $(dirent_OBJECTS) + + clean:: +- del /f $(dirent_OBJECTS) +- del /f dirent.lib ++ rm /f $(dirent_OBJECTS) ++ rm /f dirent.lib +--- misc/glib-2.28.1/build/win32/make.msc 2009-08-29 04:52:21.000000000 +0200 ++++ misc/build/glib-2.28.1/build/win32/make.msc 2011-03-04 12:36:27.513145100 +0100 +@@ -35,7 +35,7 @@ + XSLTPROC = d:\gnome-0\xsltproc + + # paths and version numbers +-!INCLUDE $(TOP)\glib\build\win32\module.defs ++!INCLUDE module.defs + + ################ + # CFLAGS and LIBS for the packages in module.defs. +@@ -58,8 +58,8 @@ + CAIRO_CFLAGS = -FI $(CAIRO)\cairo-version.h -I $(CAIRO)\src -I $(CAIRO) + CAIRO_LIBS = $(CAIRO)\src\libcairo.lib + +-DIRENT_CFLAGS = -I $(GLIB)\build\win32\dirent +-DIRENT_LIBS = $(GLIB)\build\win32\dirent\dirent.lib ++DIRENT_CFLAGS = -I ..\build\win32\dirent ++DIRENT_LIBS = ..\build\win32\dirent\dirent.lib + + !IFNDEF EXIF + EXIF_CFLAGS = -I $(DEVTOP)\include +@@ -92,7 +92,7 @@ + # overide definition to use it as callable path + GLIB = $(TOP)\glib + +-GLIB_CFLAGS = -I $(GLIB) -I $(GLIB)\glib -I $(GLIB)\gmodule $(INTL_CFLAGS) ++GLIB_CFLAGS = -I $(GLIB) -I $(GLIB)\glib -I $(GLIB)\gmodule $(INTL_CFLAGS) $(SOLARINC) + GLIB_LIBS = $(GLIB)\glib\glib-$(GLIB_VER).lib $(GLIB)\gmodule\gmodule-$(GLIB_VER).lib $(GLIB)\gobject\gobject-$(GLIB_VER).lib $(GLIB)\gio\gio-$(GLIB_VER).lib + GTHREAD_LIBS = $(GLIB)\gthread\gthread-$(GLIB_VER).lib + +@@ -126,11 +126,11 @@ + LIBART_LIBS = $(LIBART)\art_lgpl_2.lib + + !IFNDEF INTL +-INTL_CFLAGS = -I $(DEVTOP)\include +-INTL_LIBS = $(DEVTOP)\lib\intl.lib ++INTL_CFLAGS = -I $(OUTDIR)\inc\external ++INTL_LIBS = $(OUTDIR)/lib/intl.lib + !ELSE +-INTL_CFLAGS = -I $(INTL) +-INTL_LIBS = $(INTL)\intl.lib ++INTL_CFLAGS = -I $(OUTDIR)\inc\external ++INTL_LIBS = $(OUTDIR)/lib/intl.lib + !ENDIF + + !IFDEF LCMS +@@ -199,10 +199,10 @@ + + !IFDEF ZLIB + ZLIB_CFLAGS = -I $(ZLIB) +-ZLIB_LIBS = $(ZLIB)\projects\visualc6\Win32_LIB_Release\zlib.lib ++ZLIB_LIBS = $(OUTDIR)\lib\zlib.lib + !ELSE +-ZLIB_CFLAGS = -I $(DEVTOP)\include +-ZLIB_LIBS = $(DEVTOP)\lib\zdll.lib ++ZLIB_CFLAGS = -I $(OUTDIR)\inc\external\zlib ++ZLIB_LIBS = $(OUTDIR)\lib\zlib.lib + !ENDIF + + ################ +--- misc/glib-2.28.1/gio/gzlibcompressor.c 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/gio/gzlibcompressor.c 2011-03-07 10:33:19.559189800 +0100 +@@ -25,7 +25,7 @@ + #include "gzlibcompressor.h" + + #include <errno.h> +-#include <zlib.h> ++#include <zlib/zlib.h> + #include <string.h> + + #include "gfileinfo.h" +@@ -64,8 +64,10 @@ + + GZlibCompressorFormat format; + int level; ++#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 + z_stream zstream; + gz_header gzheader; ++#endif + GFileInfo *file_info; + }; + +@@ -73,7 +75,7 @@ + g_zlib_compressor_set_gzheader (GZlibCompressor *compressor) + { + /* On win32, these functions were not exported before 1.2.4 */ +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && ! defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + const gchar *filename; + + if (compressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP || +--- misc/glib-2.28.1/gio/gzlibdecompressor.c 2011-03-07 09:13:41.324890400 +0100 ++++ misc/build/glib-2.28.1/gio/gzlibdecompressor.c 2011-03-04 11:28:39.712480200 +0100 +@@ -25,7 +25,7 @@ + #include "gzlibdecompressor.h" + + #include <errno.h> +-#include <zlib.h> ++#include <zlib/zlib.h> + #include <string.h> + + #include "gfileinfo.h" +@@ -76,7 +76,7 @@ + g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor) + { + /* On win32, these functions were not exported before 1.2.4 */ +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && !defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + if (decompressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP) + return; + +@@ -376,7 +376,7 @@ + *bytes_read = inbuf_size - decompressor->zstream.avail_in; + *bytes_written = outbuf_size - decompressor->zstream.avail_out; + +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && !defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + if (decompressor->header_data != NULL && + decompressor->header_data->gzheader.done == 1) + { +--- misc/glib-2.28.1/gio/makefile.msc 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/gio/makefile.msc 2011-03-04 12:43:54.423706900 +0100 +@@ -3,9 +3,9 @@ + PRJ_TOP = .. + PACKAGE = gio + PKG_VER = 2.0 +-!INCLUDE $(TOP)\glib\build\win32\make.msc ++!INCLUDE ..\build\win32\make.msc + +-SUBDIRS = win32 ++SUBDIRS = win32 gvdb + + sub-all: + for %d in ($(SUBDIRS)) do nmake -nologo -f makefile.msc sub-one THIS=%d +@@ -18,13 +18,15 @@ + INCLUDES = \ + -FImsvc_recommended_pragmas.h \ + -I .. -I ..\glib -I ..\gmodule -I . \ +- $(INTL_CFLAGS) ++ $(INTL_CFLAGS) \ ++ $(SOLARINC) \ + + DEFINES = \ + -DG_LOG_DOMAIN=\"GLib-GIO\" \ + -DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \ + -DGIO_COMPILATION + ++ + appinfo_sources = \ + gwin32appinfo.c gwin32appinfo.h + +@@ -75,19 +77,50 @@ + $(NULL) + + OBJECTS = \ ++ gaction.obj \ ++ gactiongroup.obj \ + gappinfo.obj \ ++ gapplication.obj \ ++ gapplicationcommandline.obj \ ++ gapplicationimpl-dbus.obj \ + gasynchelper.obj \ + gasyncinitable.obj \ + gasyncresult.obj \ + gbufferedinputstream.obj \ + gbufferedoutputstream.obj \ + gcancellable.obj \ ++ gcharsetconverter.obj \ + gcontenttype.obj \ ++ gconverter.obj \ ++ gconverterinputstream.obj \ ++ gconverteroutputstream.obj \ ++ gcredentials.obj \ + gdatainputstream.obj \ + gdataoutputstream.obj \ ++ gdbusaddress.obj \ ++ gdbusauth.obj \ ++ gdbusauthmechanism.obj \ ++ gdbusauthmechanismanon.obj \ ++ gdbusauthmechanismexternal.obj \ ++ gdbusauthmechanismsha1.obj \ ++ gdbusauthobserver.obj \ ++ gdbusconnection.obj \ ++ gdbuserror.obj \ ++ gdbusintrospection.obj \ ++ gdbusmessage.obj \ ++ gdbusmethodinvocation.obj \ ++ gdbusnameowning.obj \ ++ gdbusnamewatching.obj \ ++ gdbusprivate.obj \ ++ gdbusproxy.obj \ ++ gdbusserver.obj \ ++ gdbusutils.obj \ ++ gdelayedsettingsbackend.obj \ + # gdesktopappinfo.obj \ + gdrive.obj \ + gdummyfile.obj \ ++ gdummyproxyresolver.obj \ ++ gdummytlsbackend.obj \ + gemblem.obj \ + gemblemedicon.obj \ + gfile.obj \ +@@ -112,20 +145,39 @@ + giomodule.obj \ + gioscheduler.obj \ + giostream.obj \ ++ gkeyfilesettingsbackend.obj \ + gloadableicon.obj \ + glocalfileiostream.obj \ + gmemoryinputstream.obj \ + gmemoryoutputstream.obj \ ++ gmemorysettingsbackend.obj \ + gmount.obj \ + gmountoperation.obj \ + gnativevolumemonitor.obj \ + gnetworkaddress.obj \ + gnetworkservice.obj \ ++ gnullsettingsbackend.obj \ + goutputstream.obj \ ++ gpermission.obj \ ++ gpollableinputstream.obj \ ++ gpollableoutputstream.obj \ + gpollfilemonitor.obj \ ++ gproxy.obj\ ++ gproxyaddress.obj \ ++ gproxyaddressenumerator.obj \ ++ gproxyresolver.obj \ ++ gregistrysettingsbackend.obj \ + gresolver.obj \ ++ gsettings-mapping.obj \ ++ gsettings-tool.obj \ ++ gsettings.obj \ ++ gsettingsbackend.obj \ ++ gsettingsschema.obj \ + gseekable.obj \ ++ gsimpleaction.obj \ ++ gsimpleactiongroup.obj \ + gsimpleasyncresult.obj \ ++ gsimplepermission.obj \ + gsocket.obj \ + gsocketaddress.obj \ + gsocketaddressenumerator.obj \ +@@ -135,13 +187,22 @@ + gsocketcontrolmessage.obj \ + gsocketlistener.obj \ + gsocketservice.obj \ ++ gsocks4aproxy.obj \ ++ gsocks4proxy.obj \ ++ gsocks5proxy.obj \ + gsocketinputstream.obj \ + gsocketoutputstream.obj \ + gsrvtarget.obj \ + gtcpconnection.obj \ ++ gtcpwrapperconnection.obj \ + gthreadedresolver.obj \ + gthreadedsocketservice.obj \ + gthemedicon.obj \ ++ gtlsbackend.obj \ ++ gtlscertificate.obj \ ++ gtlsclientconnection.obj \ ++ gtlsconnection.obj \ ++ gtlsserverconnection.obj \ + gunionvolumemonitor.obj \ + gvfs.obj \ + gvolume.obj \ +@@ -156,11 +217,15 @@ + glocalfilemonitor.obj \ + glocaldirectorymonitor.obj \ + gwin32appinfo.obj \ ++ gwin32outputstream.obj \ + \ + gio-marshal.obj \ ++ gwin32inputstream.obj \ + gwin32mount.obj \ + gwin32volumemonitor.obj \ +- gwin32resolver.obj ++ gwin32resolver.obj \ ++ gzlibdecompressor.obj \ ++ gzlibcompressor.obj + + libgio_2_0_la_LIBADD = \ + $(top_builddir)/glib/libglib-2.0.la \ +@@ -190,14 +255,14 @@ + + gio-marshal.h: gio-marshal.list + $(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --header >> xgen-gwmh \ +- && copy /y xgen-gwmh gio-marshal.h \ +- && del xgen-gwmh xgen-gwmh~ ++ && cp xgen-gwmh gio-marshal.h \ ++ && rm xgen-gwmh xgen-gwmh~ + + gio-marshal.c: gio-marshal.h + echo #include "gio-marshal.h" >> xgen-gwmc \ + && $(GLIB_GEN_MARSHAL) --prefix=_gio_marshal gio-marshal.list --body >> xgen-gwmc \ +- && copy xgen-gwmc gio-marshal.c \ +- && del xgen-gwmc xgen-gwmc~ ++ && cp xgen-gwmc gio-marshal.c \ ++ && rm xgen-gwmc xgen-gwmc~ + + local_sources = \ + glocaldirectorymonitor.c \ +@@ -228,11 +293,11 @@ + gio-marshal.c \ + gioenumtypes.h \ + gioenumtypes.c \ +- libgio-$(PKG_VER)-0.dll ++ giolo.dll + + + $(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32 +- copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h ++ cp $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h + + gioenumtypes.h: $(gio_headers) gioenumtypes.h.template + $(PERL) ..\gobject\glib-mkenums --template gioenumtypes.h.template $(gio_headers) > gioenumtypes.h +@@ -245,14 +310,14 @@ + RESOURCE = $(PACKAGE).res + + $(PACKAGE).res : $(PACKAGE).rc +- rc -DBUILDNUMBER=0 -r -fo $(PACKAGE).res $(PACKAGE).rc ++ rc -DBUILDNUMBER=0 -r -i $(SOLARINC) -fo $(PACKAGE).res $(PACKAGE).rc + +-libgio-$(PKG_VER)-0.dll : $(OBJECTS) win32\giowin32.lib $(PACKAGE).def $(RESOURCE) +- $(CC) $(CFLAGS) -LD -Felibgio-$(PKG_VER)-0.dll $(OBJECTS) $(RESOURCE) \ ++giolo.dll : $(OBJECTS) win32\giowin32.lib gvdb\giogvdb.lib $(PACKAGE).def $(RESOURCE) ++ $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(RESOURCE) \ + ..\glib\glib-2.0.lib ..\gobject\gobject-2.0.lib ..\gmodule\gmodule-2.0.lib \ +- win32\giowin32.lib \ +- $(INTL_LIBS) \ +- kernel32.lib user32.lib advapi32.lib shell32.lib wsock32.lib ws2_32.lib dnsapi.lib mpr.lib $(LDFLAGS) \ ++ win32\giowin32.lib gvdb\giogvdb.lib \ ++ $(INTL_LIBS) $(ZLIB_LIBS) \ ++ kernel32.lib user32.lib advapi32.lib shell32.lib wsock32.lib shlwapi.lib ws2_32.lib dnsapi.lib mpr.lib $(LDFLAGS) \ + /implib:gio-2.0.lib /def:$(PACKAGE).def + + .c.obj : +--- misc/glib-2.28.1/glib/gatomic.c 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/glib/gatomic.c 2011-02-25 15:51:45.000000000 +0100 +@@ -28,6 +28,7 @@ + #endif + + #include "gatomic.h" ++#include "gthread.h" + #include "gthreadprivate.h" + + /** +--- misc/glib-2.28.1/glib/gnulib/makefile.msc 2009-04-01 01:04:20.000000000 +0200 ++++ misc/build/glib-2.28.1/glib/gnulib/makefile.msc 2011-03-04 08:37:50.624265900 +0100 +@@ -1,7 +1,7 @@ + TOP = ..\..\.. + !INCLUDE ..\..\build\win32\make.msc + +-INCLUDES = -I ..\.. -I .. ++INCLUDES = -I ..\.. -I .. $(SOLARINC) + DEFINES = -DHAVE_CONFIG_H -DHAVE_LONG_LONG_FORMAT + + OBJECTS = \ +--- misc/glib-2.28.1/glib/makefile.msc 2011-02-18 16:34:53.000000000 +0100 ++++ misc/build/glib-2.28.1/glib/makefile.msc 2011-03-07 11:41:13.874227300 +0100 +@@ -7,7 +7,7 @@ + + ################################################################ + +-INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. ++INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. $(SOLARINC) + DEFINES = \ + -DHAVE_CONFIG_H -DGLIB_COMPILATION -DG_LOG_DOMAIN=\"GLib\" \ + -DG_ENABLE_DEBUG -DPCRE_STATIC -DG_DISABLE_DEPRECATED \ +@@ -17,13 +17,11 @@ + + all : \ + ..\config.h \ +- ..\glibconfig.h \ ++ glibconfig.h \ + gnulib\gnulib.lib \ + pcre\pcre.lib \ +- libglib-2.0-0.dll \ ++ gliblo.dll \ +- glib-2.28s.lib \ +- gspawn-win32-helper.exe \ +- gspawn-win32-helper-console.exe \ ++ glib-2.28s.lib + + + gnulib\gnulib.lib : +@@ -37,37 +35,40 @@ + cd .. + + glib_OBJECTS = \ +- garray.obj \ +- gasyncqueue.obj \ +- gatomic.obj \ +- gbacktrace.obj \ +- gbase64.obj \ ++ garray.obj \ ++ gasyncqueue.obj \ ++ gatomic.obj \ ++ gbacktrace.obj \ ++ gbase64.obj \ ++ gbitlock.obj \ + gbookmarkfile.obj \ ++ gbuffer.obj \ + gcache.obj \ +- gchecksum.obj \ +- gcompletion.obj \ ++ gchecksum.obj \ + gconvert.obj \ ++ gcompletion.obj \ + gdataset.obj \ + gdate.obj \ ++ gdatetime.obj \ + gdir.obj \ + gerror.obj \ + gfileutils.obj \ + ghash.obj \ +- ghostutils.obj \ + ghook.obj \ ++ ghostutils.obj \ + giochannel.obj \ + giowin32.obj \ +- gpoll.obj \ + gkeyfile.obj \ + glist.obj \ + gmain.obj \ +- gmappedfile.obj \ ++ gmappedfile.obj \ + gmarkup.obj \ + gmem.obj \ + gmessages.obj \ + gnode.obj \ + goption.obj \ + gpattern.obj \ ++ gpoll.obj \ + gprimes.obj \ + gprintf.obj \ + gqsort.obj \ +@@ -88,22 +89,29 @@ + gthread.obj \ + gthreadpool.obj \ + gtimer.obj \ ++ gtimezone.obj \ + gtree.obj \ + gunibreak.obj \ + gunicollate.obj \ + gunidecomp.obj \ + guniprop.obj \ + gurifuncs.obj \ +- gutf8.obj \ +- gutils.obj \ +- gwin32.obj \ ++ gutf8.obj \ ++ gutils.obj \ ++ gvariant-core.obj \ ++ gvariant-parser.obj \ ++ gvariant-serialiser.obj \ ++ gvariant.obj \ ++ gvarianttype.obj \ ++ gvarianttypeinfo.obj \ ++ gwin32.obj \ + localcharset.obj + +-..\glibconfig.h: ..\glibconfig.h.win32 +- copy ..\glibconfig.h.win32 ..\glibconfig.h ++glibconfig.h: glibconfig.h.win32 ++ cp glibconfig.h.win32 glibconfig.h + + ..\config.h: ..\config.h.win32 +- copy ..\config.h.win32 ..\config.h ++ cp ..\config.h.win32 ..\config.h + + localcharset.obj : libcharset\localcharset.c + $(CC) $(CFLAGS) -DLIBDIR=\".\" -c libcharset\localcharset.c +@@ -115,7 +123,7 @@ + -DG_GNUC_PRINTF=;G_GNUC_PRINTF -DG_GNUC_FORMAT=;G_GNUC_FORMAT glib.symbols >> glib.def + + glib.res : glib.rc +- rc -DBUILDNUMBER=0 -r -fo glib.res glib.rc ++ rc -DBUILDNUMBER=0 -r -i $(SOLARINC) -fo glib.res glib.rc + + ################ glib + +@@ -124,20 +132,14 @@ + glib-2.28s.lib : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib + lib /out:glib-2.28s.lib $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib + +-libglib-2.0-0.dll : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib glib.def glib.res ++gliblo.dll : $(glib_OBJECTS) gnulib\gnulib.lib pcre\pcre.lib glib.def glib.res + $(CC) $(CFLAGS) -LD -Fe$@ $(glib_OBJECTS) glib.res $(INTL_LIBS) \ + gnulib\gnulib.lib pcre\pcre.lib $(DIRENT_LIBS) user32.lib advapi32.lib shell32.lib wsock32.lib ole32.lib ws2_32.lib \ + $(LDFLAGS) /implib:glib-2.0.lib /def:glib.def + +-gspawn-win32-helper.exe : gspawn-win32-helper.c libglib-2.0-0.dll +- $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:windows user32.lib +- +-gspawn-win32-helper-console.exe : gspawn-win32-helper.c libglib-2.0-0.dll +- $(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32-helper.c glib-2.0.lib $(LDFLAGS) /subsystem:console user32.lib +- + ################ other stuff + + clean:: +- del ..\config.h +- del ..\glibconfig.h ++ rm ..\config.h ++ rm glibconfig.h + +--- misc/glib-2.28.1/glib/pcre/makefile.msc 2010-06-20 06:35:47.000000000 +0200 ++++ misc/build/glib-2.28.1/glib/pcre/makefile.msc 2011-03-04 09:06:02.748049800 +0100 +@@ -3,7 +3,8 @@ + + INCLUDES = \ + -I ..\.. \ +- -I .. ++ -I .. \ ++ $(SOLARINC) + + DEFINES = \ + -DPCRE_STATIC \ +@@ -18,10 +19,24 @@ + -DMAX_NAME_COUNT=10000 \ + -DMAX_DUPLENGTH=30000 \ + -DLINK_SIZE=2 \ +- -DEBCDIC=0 \ + -DPOSIX_MALLOC_THRESHOLD=10 + + OBJECTS = \ ++ pcre_chartables.obj \ ++ pcre_compile.obj \ ++ pcre_config.obj \ ++ pcre_dfa_exec.obj \ ++ pcre_exec.obj \ ++ pcre_fullinfo.obj \ ++ pcre_get.obj \ ++ pcre_globals.obj \ ++ pcre_newline.obj \ ++ pcre_ord2utf8.obj \ ++ pcre_study.obj \ ++ pcre_tables.obj \ ++ pcre_try_flipped.obj \ ++ pcre_ucp_searchfuncs.obj \ ++ pcre_xclass.obj \ + + + all : pcre.lib +--- misc/glib-2.28.1/gmodule/makefile.msc 2011-02-18 16:34:58.000000000 +0100 ++++ misc/build/glib-2.28.1/gmodule/makefile.msc 2011-03-04 08:43:06.896355600 +0100 +@@ -7,12 +7,12 @@ + + ################################################################ + +-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib ++INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib $(SOLARINC) + DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GModule\" + + all : \ + gmoduleconf.h \ +- libgmodule-2.0-0.dll ++ gmodulelo.dll + + gmodule_OBJECTS = \ + gmodule.obj +@@ -16,22 +16,22 @@ + + gmodule_OBJECTS = \ + gmodule.obj +-gmodule.def: gmodule.symbols +- echo EXPORTS > gmodule.def +- cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \ +- -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \ +- -DG_GNUC_PRINTF=;G_GNUC_PRINTF gmodule.symbols >> gmodule.def +- ++gmodule.def: gmodule.symbols ++ echo EXPORTS > gmodule.def ++ cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DINCLUDE_INTERNAL_SYMBOLS -DALL_FILES \ ++ -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \ ++ -DG_GNUC_PRINTF=;G_GNUC_PRINTF gmodule.symbols >> gmodule.def ++ + + gmoduleconf.h: gmoduleconf.h.win32 +- copy gmoduleconf.h.win32 gmoduleconf.h ++ cp gmoduleconf.h.win32 gmoduleconf.h + + gmodule.res : gmodule.rc +- rc -DBUILDNUMBER=0 -r -fo gmodule.res gmodule.rc ++ rc -DBUILDNUMBER=0 -r -i $(SOLARINC) -fo gmodule.res gmodule.rc + +-libgmodule-2.0-0.dll : $(gmodule_OBJECTS) gmodule.def gmodule.res ++gmodulelo.dll : $(gmodule_OBJECTS) gmodule.def gmodule.res + $(CC) $(CFLAGS) -LD -Fe$@ $(gmodule_OBJECTS) gmodule.res \ + ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gmodule-2.0.lib /def:gmodule.def + + clean:: +- del gmoduleconf.h ++ rm gmoduleconf.h +--- misc/glib-2.28.1/gobject/makefile.msc 2011-02-18 16:35:05.000000000 +0100 ++++ misc/build/glib-2.28.1/gobject/makefile.msc 2011-03-04 12:33:52.399273100 +0100 +--- misc/glib-2.28.1/gobject/makefile.msc 2011-02-18 16:35:05.000000000 +0100 ++++ misc/build/glib-2.28.1/gobject/makefile.msc 2011-03-09 09:29:52.712284300 +0100 +@@ -7,23 +7,22 @@ + + ################################################################ + +-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib ++INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib $(SOLARINC) + DEFINES = -DHAVE_CONFIG_H -DGOBJECT_COMPILATION -DG_LOG_DOMAIN=\"GLib-GObject\" \ + -DG_ENABLE_DEBUG + # -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS + # -DG_DISABLE_CAST_CHECKS + + all : \ + glib-genmarshal.exe \ + gmarshal.h \ +- gmarshal.c \ + gmarshal.strings \ +- gobject-query.exe \ +- libgobject-2.0-0.dll \ ++ gobjectlo.dll \ + gobject-2.28s.lib \ +- testgobject.exe + + gobject_OBJECTS = \ ++ gatomicarray.obj \ ++ gbinding.obj \ + gboxed.obj \ + gclosure.obj \ + genums.obj \ +@@ -47,21 +49,18 @@ + -DG_GNUC_PRINTF=;G_GNUC_PRINTF gobject.symbols >> gobject.def + + gobject.res : gobject.rc +- rc -DBUILDNUMBER=0 -r -fo gobject.res gobject.rc ++ rc -DBUILDNUMBER=0 -r -i $(SOLARINC) -fo gobject.res gobject.rc + + gmarshal.h : gmarshal.list glib-genmarshal.exe + echo #ifndef __G_MARSHAL_H__ > xgen-gmh + echo #define __G_MARSHAL_H__ >> xgen-gmh + glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --header >> xgen-gmh + echo #endif /* __G_MARSHAL_H__ */ >> xgen-gmh +- copy xgen-gmh gmarshal.h +- +-gmarshal.c: gmarshal.list gmarshal.h glib-genmarshal.exe +- glib-genmarshal --nostdinc --prefix=g_cclosure_marshal gmarshal.list --body > gmarshal.c ++ cp xgen-gmh gmarshal.h + +-libgobject-2.0-0.dll : $(gobject_OBJECTS) gobject.def gobject.res ++gobjectlo.dll : $(gobject_OBJECTS) gobject.def gobject.res + $(CC) $(CFLAGS) -Fm -LD -Fe$@ $(gobject_OBJECTS) gobject.res \ +- ..\glib\glib-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || del $@ ++ ..\glib\glib-2.0.lib ..\gthread\gthread-2.0.lib $(LDFLAGS) /implib:gobject-2.0.lib /def:gobject.def || rm $@ + + gobject-2.28s.lib : $(gobject_OBJECTS) + lib /out:$@ $(gobject_OBJECTS) +--- misc/glib-2.28.1/gthread/makefile.msc 2011-02-18 16:35:00.000000000 +0100 ++++ misc/build/glib-2.28.1/gthread/makefile.msc 2011-03-04 08:43:06.900355800 +0100 +@@ -7,10 +7,10 @@ + + ################################################################ + +-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib ++INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I . -I ..\glib $(SOLARINC) + DEFINES = -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"GThread\" + all : \ +- libgthread-2.0-0.dll ++ gthreadlo.dll + + gthread_OBJECTS = \ + gthread-impl.obj +@@ -19,8 +19,8 @@ + $(CC) -c $(CFLAGS) gthread-impl.c + + gthread.res : gthread.rc +- rc -DBUILDNUMBER=0 -r -fo gthread.res gthread.rc ++ rc -DBUILDNUMBER=0 -r -i $(SOLARINC) -fo gthread.res gthread.rc + +-libgthread-2.0-0.dll : $(gthread_OBJECTS) gthread.def gthread.res ++gthreadlo.dll : $(gthread_OBJECTS) gthread.def gthread.res + $(CC) $(CFLAGS) -LD -Fe$@ $(gthread_OBJECTS) gthread.res \ + ..\glib\glib-2.0.lib $(DEPCLIBS) user32.lib $(LDFLAGS) /implib:gthread-2.0.lib /def:gthread.def +--- misc/glib-2.28.1/makefile.msc 2009-04-01 01:04:20.000000000 +0200 ++++ misc/build/glib-2.28.1/makefile.msc 2011-03-04 09:11:06.663432800 +0100 +@@ -1,7 +1,7 @@ + ## Makefile for building the GLib dlls with Microsoft C + ## Use: nmake -f makefile.msc + +-PARTS = glib gmodule gthread gobject gio tests ++PARTS = "build\win32\dirent" glib gmodule gthread gobject gio tests + + all : \ + config.h \ +@@ -22,7 +22,7 @@ + @cd .. + + config.h: config.h.win32 +- copy config.h.win32 config.h ++ cp config.h.win32 config.h + +-glibconfig.h: glibconfig.h.win32 +- copy glibconfig.h.win32 glibconfig.h ++glibconfig.h: glib/glibconfig.h.win32 ++ cp glib/glibconfig.h.win32 glib/glibconfig.h +--- misc/glib-2.28.1/tests/makefile.msc 2011-02-18 16:35:43.000000000 +0100 ++++ misc/build/glib-2.28.1/tests/makefile.msc 2011-03-04 08:33:02.079762100 +0100 +@@ -7,7 +7,7 @@ + + ################################################################ + +-INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule ++INCLUDES = -FImsvc_recommended_pragmas.h -I .. -I ..\glib -I ..\gmodule $(SOLARINC) + DEFINES = -DHAVE_CONFIG_H -DENABLE_REGEX + + NONAUTOMATIC_TESTS = \ +@@ -79,7 +79,7 @@ + libmoduletestplugin_a.dll \ + libmoduletestplugin_b.dll + +-all : $(TESTS) $(NONAUTOMATIC_TESTS) $(DLLS) ++all : + + .c.exe : + $(CC) $(CFLAGS) -c $< +--- misc/glib-2.28.1/glib/glibconfig.h Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/glib/glibconfig.h Wed Aug 20 14:26:42 2008 +@@ -1 +1,285 @@ +-dummy ++/* glibconfig.h.win32.in. Originally merged from two versions of ++ * glibconfig.h, generated by the GLib configure script, for gcc and ++ * MSVC. ++ */ ++ ++/* glibconfig.h ++ * ++ * This is a generated file. Please modify 'glibconfig.h.win32.in' ++ */ ++ ++#ifndef __G_LIBCONFIG_H__ ++#define __G_LIBCONFIG_H__ ++ ++#include <glib/gmacros.h> ++ ++#include <limits.h> ++#include <float.h> ++ ++G_BEGIN_DECLS ++ ++#define G_MINFLOAT FLT_MIN ++#define G_MAXFLOAT FLT_MAX ++#define G_MINDOUBLE DBL_MIN ++#define G_MAXDOUBLE DBL_MAX ++#define G_MINSHORT SHRT_MIN ++#define G_MAXSHORT SHRT_MAX ++#define G_MAXUSHORT USHRT_MAX ++#define G_MININT INT_MIN ++#define G_MAXINT INT_MAX ++#define G_MAXUINT UINT_MAX ++#define G_MINLONG LONG_MIN ++#define G_MAXLONG LONG_MAX ++#define G_MAXULONG ULONG_MAX ++ ++typedef signed char gint8; ++typedef unsigned char guint8; ++typedef signed short gint16; ++typedef unsigned short guint16; ++#define G_GINT16_MODIFIER "h" ++#define G_GINT16_FORMAT "hi" ++#define G_GUINT16_FORMAT "hu" ++typedef signed int gint32; ++typedef unsigned int guint32; ++#define G_GINT32_MODIFIER "" ++#define G_GINT32_FORMAT "i" ++#define G_GUINT32_FORMAT "u" ++#define G_HAVE_GINT64 1 /* deprecated, always true */ ++ ++#ifndef _MSC_VER ++G_GNUC_EXTENSION typedef signed long long gint64; ++G_GNUC_EXTENSION typedef unsigned long long guint64; ++#else /* _MSC_VER */ ++typedef signed __int64 gint64; ++typedef unsigned __int64 guint64; ++#endif /* _MSC_VER */ ++ ++#ifndef _MSC_VER ++#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) ++#else /* _MSC_VER */ ++#define G_GINT64_CONSTANT(val) (val##i64) ++#endif /* _MSC_VER */ ++#ifndef _MSC_VER ++#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) ++#else /* _MSC_VER */ ++#define G_GUINT64_CONSTANT(val) (val##Ui64) ++#endif /* _MSC_VER */ ++#define G_GINT64_MODIFIER "I64" ++#define G_GINT64_FORMAT "I64i" ++#define G_GUINT64_FORMAT "I64u" ++ ++#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) ++ ++#define GLIB_SIZEOF_VOID_P 8 ++#define GLIB_SIZEOF_LONG 4 ++#define GLIB_SIZEOF_SIZE_T 8 ++ ++typedef signed long long gssize; ++typedef unsigned long long gsize; ++#define G_GSIZE_MODIFIER "I64" ++#define G_GSSIZE_FORMAT "I64d" ++#define G_GSIZE_FORMAT "I64u" ++ ++#define G_MAXSIZE G_MAXUINT64 ++#define G_MINSSIZE G_MININT64 ++#define G_MAXSSIZE G_MAXINT64 ++ ++#else ++ ++#define GLIB_SIZEOF_VOID_P 4 ++#define GLIB_SIZEOF_LONG 4 ++#define GLIB_SIZEOF_SIZE_T 4 ++ ++typedef signed int gssize; ++typedef unsigned int gsize; ++#define G_GSIZE_MODIFIER "" ++#define G_GSSIZE_FORMAT "i" ++#define G_GSIZE_FORMAT "u" ++ ++#define G_MAXSIZE G_MAXUINT ++#define G_MINSSIZE G_MININT ++#define G_MAXSSIZE G_MAXINT ++ ++#endif ++ ++typedef gint64 goffset; ++#define G_MINOFFSET G_MININT64 ++#define G_MAXOFFSET G_MAXINT64 ++ ++#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER ++#define G_GOFFSET_FORMAT G_GINT64_FORMAT ++#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) ++ ++ ++#ifndef _WIN64 ++ ++#define GPOINTER_TO_INT(p) ((gint) (p)) ++#define GPOINTER_TO_UINT(p) ((guint) (p)) ++ ++#define GINT_TO_POINTER(i) ((gpointer) (i)) ++#define GUINT_TO_POINTER(u) ((gpointer) (u)) ++ ++typedef signed int gintptr; ++typedef unsigned int guintptr; ++ ++#define G_GINTPTR_MODIFIER "" ++#define G_GINTPTR_FORMAT "i" ++#define G_GUINTPTR_FORMAT "u" ++ ++#else ++ ++#define GPOINTER_TO_INT(p) ((gint) (gint64) (p)) ++#define GPOINTER_TO_UINT(p) ((guint) (guint64) (p)) ++ ++#define GINT_TO_POINTER(i) ((gpointer) (gint64) (i)) ++#define GUINT_TO_POINTER(u) ((gpointer) (guint64) (u)) ++ ++#ifndef _MSC_VER ++typedef signed long long gintptr; ++typedef unsigned long long guintptr; ++#else ++typedef signed __int64 gintptr; ++typedef unsigned __int64 guintptr; ++#endif ++ ++#define G_GINTPTR_MODIFIER "I64" ++#define G_GINTPTR_FORMAT "I64i" ++#define G_GUINTPTR_FORMAT "I64u" ++ ++#endif ++ ++#ifdef NeXT /* @#%@! NeXTStep */ ++# define g_ATEXIT(proc) (!atexit (proc)) ++#else ++# define g_ATEXIT(proc) (atexit (proc)) ++#endif ++ ++#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END ++ ++#define GLIB_MAJOR_VERSION 2 ++#define GLIB_MINOR_VERSION 28 ++#define GLIB_MICRO_VERSION 1 ++ ++#define G_OS_WIN32 ++#define G_PLATFORM_WIN32 ++ ++ ++#ifndef _MSC_VER ++#define G_VA_COPY va_copy ++#endif /* not _MSC_VER */ ++ ++#ifdef __cplusplus ++#define G_HAVE_INLINE 1 ++#else /* !__cplusplus */ ++#ifndef _MSC_VER ++#define G_HAVE_INLINE 1 ++#endif /* _MSC_VER */ ++#define G_HAVE___INLINE 1 ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define G_HAVE___INLINE__ 1 ++#endif /* !_MSC_VER and !__DMC__ */ ++#endif /* !__cplusplus */ ++ ++#define G_CAN_INLINE 1 ++ ++#ifndef _MSC_VER ++#define G_HAVE_ISO_VARARGS 1 ++ ++/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi ++ * is passed ISO vararg support is turned off, and there is no work ++ * around to turn it on, so we unconditionally turn it off. ++ */ ++#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 ++# undef G_HAVE_ISO_VARARGS ++#endif ++ ++#define G_HAVE_GNUC_VARARGS 1 ++#else /* _MSC_VER */ ++/* varargs macros available since msvc8 (vs2005) */ ++# if _MSC_VER >= 1400 ++# define G_HAVE_ISO_VARARGS 1 ++# endif ++#endif /* not _MSC_VER */ ++#define G_HAVE_GROWING_STACK 0 ++ ++#define G_GNUC_INTERNAL ++ ++#define G_THREADS_ENABLED ++#define G_THREADS_IMPL_WIN32 ++typedef struct _GMutex* GStaticMutex; ++#define G_STATIC_MUTEX_INIT NULL ++#define g_static_mutex_get_mutex(mutex) \ ++ (g_static_mutex_get_mutex_impl_shortcut (mutex)) ++/* This represents a system thread as used by the implementation. An ++ * alien implementaion, as loaded by g_thread_init can only count on ++ * "sizeof (gpointer)" bytes to store their info. We however need more ++ * for some of our native implementations. */ ++typedef union _GSystemThread GSystemThread; ++union _GSystemThread ++{ ++#ifndef _WIN64 ++ char data[4]; ++#else ++ char data[8]; ++#endif ++ double dummy_double; ++ void *dummy_pointer; ++ long dummy_long; ++}; ++ ++#define GINT16_TO_LE(val) ((gint16) (val)) ++#define GUINT16_TO_LE(val) ((guint16) (val)) ++#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) ++#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) ++#define GINT32_TO_LE(val) ((gint32) (val)) ++#define GUINT32_TO_LE(val) ((guint32) (val)) ++#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) ++#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) ++#define GINT64_TO_LE(val) ((gint64) (val)) ++#define GUINT64_TO_LE(val) ((guint64) (val)) ++#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) ++#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) ++#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) ++#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) ++#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) ++#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) ++#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) ++#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) ++#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) ++#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) ++#define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val)) ++#define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val)) ++#define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val)) ++#define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val)) ++#define G_BYTE_ORDER G_LITTLE_ENDIAN ++ ++#define GLIB_SYSDEF_POLLIN =1 ++#define GLIB_SYSDEF_POLLOUT =4 ++#define GLIB_SYSDEF_POLLPRI =2 ++#define GLIB_SYSDEF_POLLHUP =16 ++#define GLIB_SYSDEF_POLLERR =8 ++#define GLIB_SYSDEF_POLLNVAL =32 ++ ++#define G_MODULE_SUFFIX "dll" ++ ++/* A GPid is an abstraction for a process "handle". It is *not* an ++ * abstraction for a process identifier in general. GPid is used in ++ * GLib only for descendant processes spawned with the g_spawn* ++ * functions. On POSIX there is no "process handle" concept as such, ++ * but on Windows a GPid is a handle to a process, a kind of pointer, ++ * not a process identifier. ++ */ ++typedef void * GPid; ++ ++#define GLIB_SYSDEF_AF_UNIX 1 ++#define GLIB_SYSDEF_AF_INET 2 ++#define GLIB_SYSDEF_AF_INET6 23 ++ ++#define GLIB_SYSDEF_MSG_OOB 1 ++#define GLIB_SYSDEF_MSG_PEEK 2 ++#define GLIB_SYSDEF_MSG_DONTROUTE 4 ++ ++G_END_DECLS ++ ++#endif /* GLIBCONFIG_H */ ++ +--- misc/glib-2.28.1/gmodule/gmoduleconf.h Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/gmodule/gmoduleconf.h Wed Aug 20 14:26:42 2008 +@@ -1 +1,45 @@ +-dummy ++/* GMODULE - GLIB wrapper code for dynamic module loading ++ * Copyright (C) 1998 Tim Janik ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the ++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, ++ * Boston, MA 02111-1307, USA. ++ */ ++#ifndef __G_MODULE_CONF_H__ ++#define __G_MODULE_CONF_H__ ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif /* __cplusplus */ ++ ++ ++#define G_MODULE_IMPL_NONE 0 ++#define G_MODULE_IMPL_DL 1 ++#define G_MODULE_IMPL_DLD 2 ++#define G_MODULE_IMPL_WIN32 3 ++#define G_MODULE_IMPL_OS2 4 ++#define G_MODULE_IMPL_BEOS 5 ++#define G_MODULE_IMPL_DYLD 6 ++ ++#define G_MODULE_IMPL G_MODULE_IMPL_WIN32 ++#undef G_MODULE_HAVE_DLERROR ++ ++#ifdef __cplusplus ++} ++#endif /* __cplusplus */ ++ ++ ++#endif /* __G_MODULE_CONF_H__ */ ++ +--- misc/glib-2.28.1/config.h Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/config.h Wed Aug 20 14:26:42 2008 +@@ -1 +1,834 @@ +-dummy ++/* config.h.win32.in Merged from two versions generated by configure for gcc and MSVC. */ ++/* config.h. Generated by configure. */ ++/* config.h.in. Generated from configure.ac by autoheader. */ ++ ++/* Define if building universal (internal helper macro) */ ++/* #undef AC_APPLE_UNIVERSAL_BUILD */ ++ ++/* define if asm blocks can use numeric local labels */ ++/* #undef ASM_NUMERIC_LABELS */ ++ ++/* poll doesn't work on devices */ ++#define BROKEN_POLL 1 ++ ++/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP ++ systems. This function is required for `alloca.c' support on those systems. ++ */ ++/* #undef CRAY_STACKSEG_END */ ++ ++/* Define to 1 if using `alloca.c'. */ ++/* #undef C_ALLOCA */ ++ ++/* Whether to disable memory pools */ ++/* #undef DISABLE_MEM_POOLS */ ++ ++/* Whether to enable GC friendliness by default */ ++/* #undef ENABLE_GC_FRIENDLY_DEFAULT */ ++ ++/* always defined to indicate that i18n is enabled */ ++#define ENABLE_NLS 1 ++ ++/* include GRegex */ ++#define ENABLE_REGEX /**/ ++ ++/* Define the gettext package to be used */ ++#define GETTEXT_PACKAGE "glib20" ++ ++/* Define to the GLIB binary age */ ++#define GLIB_BINARY_AGE 2801 ++ ++/* Byte contents of gmutex */ ++/* #undef GLIB_BYTE_CONTENTS_GMUTEX */ ++ ++/* Define to the GLIB interface age */ ++#define GLIB_INTERFACE_AGE 1 ++ ++/* Define the location where the catalogs will be installed */ ++#define GLIB_LOCALE_DIR "NONE/share/locale" ++ ++/* Define to the GLIB major version */ ++#define GLIB_MAJOR_VERSION 2 ++ ++/* Define to the GLIB micro version */ ++#define GLIB_MICRO_VERSION 1 ++ ++/* Define to the GLIB minor version */ ++#define GLIB_MINOR_VERSION 28 ++ ++/* The size of gmutex, as computed by sizeof. */ ++/* #undef GLIB_SIZEOF_GMUTEX */ ++ ++/* The size of system_thread, as computed by sizeof. */ ++#define GLIB_SIZEOF_SYSTEM_THREAD 4 ++ ++/* alpha atomic implementation */ ++/* #undef G_ATOMIC_ALPHA */ ++ ++/* arm atomic implementation */ ++/* #undef G_ATOMIC_ARM */ ++ ++/* cris atomic implementation */ ++/* #undef G_ATOMIC_CRIS */ ++ ++/* crisv32 atomic implementation */ ++/* #undef G_ATOMIC_CRISV32 */ ++ ++/* i486 atomic implementation */ ++#ifndef _MSC_VER ++#define G_ATOMIC_I486 1 ++#endif /* _MSC_VER */ ++ ++/* ia64 atomic implementation */ ++/* #undef G_ATOMIC_IA64 */ ++ ++/* powerpc atomic implementation */ ++/* #undef G_ATOMIC_POWERPC */ ++ ++/* s390 atomic implementation */ ++/* #undef G_ATOMIC_S390 */ ++ ++/* sparcv9 atomic implementation */ ++/* #undef G_ATOMIC_SPARCV9 */ ++ ++/* x86_64 atomic implementation */ ++/* #undef G_ATOMIC_X86_64 */ ++ ++/* Have inline keyword */ ++#ifndef _MSC_VER ++#define G_HAVE_INLINE 1 ++#else /* _MSC_VER */ ++/* #undef G_HAVE_INLINE */ ++#endif /* _MSC_VER */ ++ ++/* Have __inline keyword */ ++#define G_HAVE___INLINE 1 ++ ++/* Have __inline__ keyword */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define G_HAVE___INLINE__ 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef G_HAVE___INLINE__ */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Source file containing theread implementation */ ++#define G_THREAD_SOURCE "gthread-win32.c" ++ ++/* A 'va_copy' style function */ ++#ifndef _MSC_VER ++#define G_VA_COPY va_copy ++#else /* _MSC_VER */ ++/* #undef G_VA_COPY */ ++#endif /* _MSC_VER */ ++ ++/* 'va_lists' cannot be copies as values */ ++/* #undef G_VA_COPY_AS_ARRAY */ ++ ++/* Define to 1 if you have `alloca', as a function or macro. */ ++#define HAVE_ALLOCA 1 ++ ++/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). ++ */ ++/* #undef HAVE_ALLOCA_H */ ++ ++/* Define to 1 if you have the <arpa/nameser_compat.h> header file. */ ++/* #undef HAVE_ARPA_NAMESER_COMPAT_H */ ++ ++/* Define to 1 if you have the `atexit' function. */ ++#define HAVE_ATEXIT 1 ++ ++/* Define to 1 if you have the <attr/xattr.h> header file. */ ++/* #undef HAVE_ATTR_XATTR_H */ ++ ++/* Define to 1 if you have the `bind_textdomain_codeset' function. */ ++#define HAVE_BIND_TEXTDOMAIN_CODESET 1 ++ ++/* Define if you have a version of the snprintf function with semantics as ++ specified by the ISO C99 standard. */ ++/* #undef HAVE_C99_SNPRINTF */ ++ ++/* Define if you have a version of the vsnprintf function with semantics as ++ specified by the ISO C99 standard. */ ++/* #undef HAVE_C99_VSNPRINTF */ ++ ++/* define to 1 if Carbon is available */ ++/* #undef HAVE_CARBON */ ++ ++/* Define to 1 if you have the `chown' function. */ ++/* #undef HAVE_CHOWN */ ++ ++/* Define to 1 if you have the `clock_gettime' function. */ ++/* #undef HAVE_CLOCK_GETTIME */ ++ ++/* Have nl_langinfo (CODESET) */ ++/* #undef HAVE_CODESET */ ++ ++/* Define to 1 if you have the <crt_externs.h> header file. */ ++/* #undef HAVE_CRT_EXTERNS_H */ ++ ++/* Define if dbus-1 is available */ ++/* #undef HAVE_DBUS1 */ ++ ++/* Define to 1 if you have the `dcgettext' function. */ ++#define HAVE_DCGETTEXT 1 ++ ++/* Define to 1 if you have the <dirent.h> header file. */ ++#ifndef _MSC_VER ++#define HAVE_DIRENT_H 1 ++#else ++/* #undef HAVE_DIRENT_H */ ++#endif ++ ++/* Define to 1 if you have the <dlfcn.h> header file. */ ++/* #undef HAVE_DLFCN_H */ ++ ++/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ ++/* #undef HAVE_DOPRNT */ ++ ++/* define for working do while(0) macros */ ++#define HAVE_DOWHILE_MACROS 1 ++ ++/* Define to 1 if you have the `endmntent' function. */ ++/* #undef HAVE_ENDMNTENT */ ++ ++/* Define to 1 if you have the `endservent' function. */ ++/* #undef HAVE_ENDSERVENT */ ++ ++/* Define if we have FAM */ ++/* #undef HAVE_FAM */ ++ ++/* Define to 1 if you have the <fam.h> header file. */ ++/* #undef HAVE_FAM_H */ ++ ++/* Define if we have FAMNoExists in fam */ ++/* #undef HAVE_FAM_NO_EXISTS */ ++ ++/* Define to 1 if you have the `fchmod' function. */ ++/* #undef HAVE_FCHMOD */ ++ ++/* Define to 1 if you have the `fchown' function. */ ++/* #undef HAVE_FCHOWN */ ++ ++/* Define to 1 if you have the `fdwalk' function. */ ++/* #undef HAVE_FDWALK */ ++ ++/* Define to 1 if you have the <float.h> header file. */ ++#define HAVE_FLOAT_H 1 ++ ++/* Define to 1 if you have the <fstab.h> header file. */ ++/* #undef HAVE_FSTAB_H */ ++ ++/* Define to 1 if you have the `fsync' function. */ ++/* #undef HAVE_FSYNC */ ++ ++/* we have the futex(2) system call */ ++/* #undef HAVE_FUTEX */ ++ ++/* Define to 1 if you have the `getcwd' function. */ ++#define HAVE_GETCWD 1 ++ ++/* Define to 1 if you have the `getc_unlocked' function. */ ++/* #undef HAVE_GETC_UNLOCKED */ ++ ++/* Define to 1 if you have the `getgrgid' function. */ ++/* #undef HAVE_GETGRGID */ ++ ++/* Define to 1 if you have the `getmntent_r' function. */ ++/* #undef HAVE_GETMNTENT_R */ ++ ++/* Define to 1 if you have the `getmntinfo' function. */ ++/* #undef HAVE_GETMNTINFO */ ++ ++/* Define to 1 if you have the `getprotobyname_r' function. */ ++/* #undef HAVE_GETPROTOBYNAME_R */ ++ ++/* Define to 1 if you have the `getpwuid' function. */ ++/* #undef HAVE_GETPWUID */ ++ ++/* Define if the GNU gettext() function is already present or preinstalled. */ ++#define HAVE_GETTEXT 1 ++ ++/* Define to 1 if you have the `gmtime_r' function. */ ++/* #undef HAVE_GMTIME_R */ ++ ++/* define to use system printf */ ++/* #undef HAVE_GOOD_PRINTF */ ++ ++/* Define to 1 if you have the <grp.h> header file. */ ++/* #undef HAVE_GRP_H */ ++ ++/* Define to 1 if you have the `hasmntopt' function. */ ++/* #undef HAVE_HASMNTOPT */ ++ ++/* Define to 1 if you have the `inotify_init1' function. */ ++/* #undef HAVE_INOTIFY_INIT1 */ ++ ++/* define to support printing 64-bit integers with format I64 */ ++#define HAVE_INT64_AND_I64 1 ++ ++/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */ ++#ifndef _MSC_VER ++#define HAVE_INTMAX_T 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTMAX_T */ ++#endif /* _MSC_VER */ ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#ifndef _MSC_VER ++#define HAVE_INTTYPES_H 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTTYPES_H */ ++#endif /* _MSC_VER */ ++ ++/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and ++ declares uintmax_t. */ ++#ifndef _MSC_VER ++#define HAVE_INTTYPES_H_WITH_UINTMAX 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_INTTYPES_H_WITH_UINTMAX */ ++#endif /* _MSC_VER */ ++ ++/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ ++/* #undef HAVE_LANGINFO_CODESET */ ++ ++/* Define to 1 if you have the `lchmod' function. */ ++/* #undef HAVE_LCHMOD */ ++ ++/* Define to 1 if you have the `lchown' function. */ ++/* #undef HAVE_LCHOWN */ ++ ++/* Define if your <locale.h> file defines LC_MESSAGES. */ ++/* #undef HAVE_LC_MESSAGES */ ++ ++/* Define to 1 if you have the <limits.h> header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if you have the `link' function. */ ++/* #undef HAVE_LINK */ ++ ++/* Define to 1 if you have the <locale.h> header file. */ ++#define HAVE_LOCALE_H 1 ++ ++/* Define to 1 if you have the `localtime_r' function. */ ++/* #undef HAVE_LOCALTIME_R */ ++ ++/* Define if you have the 'long double' type. */ ++#define HAVE_LONG_DOUBLE 1 ++ ++/* Define if you have the 'long long' type. */ ++#ifndef _MSC_VER ++#define HAVE_LONG_LONG 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_LONG_LONG */ ++#endif /* _MSC_VER */ ++ ++/* define if system printf can print long long */ ++#define HAVE_LONG_LONG_FORMAT 1 ++ ++/* Define to 1 if you have the `lstat' function. */ ++/* #undef HAVE_LSTAT */ ++ ++/* Define to 1 if you have the <malloc.h> header file. */ ++#define HAVE_MALLOC_H 1 ++ ++/* Define to 1 if you have the `memalign' function. */ ++/* #undef HAVE_MEMALIGN */ ++ ++/* Define to 1 if you have the `memmem' function. */ ++/* #undef HAVE_MEMMEM */ ++ ++/* Define to 1 if you have the `memmove' function. */ ++#define HAVE_MEMMOVE 1 ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the `mmap' function. */ ++/* #undef HAVE_MMAP */ ++ ++/* Define to 1 if you have the <mntent.h> header file. */ ++/* #undef HAVE_MNTENT_H */ ++ ++/* Have a monotonic clock */ ++/* #undef HAVE_MONOTONIC_CLOCK */ ++ ++/* Define to 1 if you have the `nanosleep' function. */ ++/* #undef HAVE_NANOSLEEP */ ++ ++/* Define to 1 if you have the <netdb.h> header file. */ ++/* #undef HAVE_NETDB_H */ ++ ++/* Have non-POSIX function getgrgid_r */ ++/* #undef HAVE_NONPOSIX_GETGRGID_R */ ++ ++/* Have non-POSIX function getpwuid_r */ ++/* #undef HAVE_NONPOSIX_GETPWUID_R */ ++ ++/* Define to 1 if you have the `nsleep' function. */ ++/* #undef HAVE_NSLEEP */ ++ ++/* Define to 1 if you have the `on_exit' function. */ ++/* #undef HAVE_ON_EXIT */ ++ ++/* Define to 1 if you have the `pipe2' function. */ ++/* #undef HAVE_PIPE2 */ ++ ++/* Define to 1 if you have the `poll' function. */ ++/* #undef HAVE_POLL */ ++ ++/* Have POSIX function getgrgid_r */ ++/* #undef HAVE_POSIX_GETGRGID_R */ ++ ++/* Have POSIX function getpwuid_r */ ++/* #undef HAVE_POSIX_GETPWUID_R */ ++ ++/* Define to 1 if you have the `posix_memalign' function. */ ++/* #undef HAVE_POSIX_MEMALIGN */ ++ ++/* Have function pthread_attr_setstacksize */ ++/* #undef HAVE_PTHREAD_ATTR_SETSTACKSIZE */ ++ ++/* Define to 1 if the system has the type `ptrdiff_t'. */ ++#define HAVE_PTRDIFF_T 1 ++ ++/* Define to 1 if you have the <pwd.h> header file. */ ++/* #undef HAVE_PWD_H */ ++ ++/* Define to 1 if you have the `readlink' function. */ ++/* #undef HAVE_READLINK */ ++ ++/* Define to 1 if you have the <sched.h> header file. */ ++/* #undef HAVE_SCHED_H */ ++ ++/* Define to 1 if libselinux is available */ ++/* #undef HAVE_SELINUX */ ++ ++/* Define to 1 if you have the <selinux/selinux.h> header file. */ ++/* #undef HAVE_SELINUX_SELINUX_H */ ++ ++/* Define to 1 if you have the `setenv' function. */ ++/* #undef HAVE_SETENV */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if you have the `setmntent' function. */ ++/* #undef HAVE_SETMNTENT */ ++ ++/* Define to 1 if you have the `setresuid' function. */ ++/* #undef HAVE_SETRESUID */ ++ ++/* Define to 1 if you have the `setreuid' function. */ ++/* #undef HAVE_SETREUID */ ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#ifndef _MSC_VER ++#define HAVE_SNPRINTF 1 ++#ifdef __DMC__ ++#define snprintf _snprintf ++#endif ++#else /* _MSC_VER */ ++/* #undef HAVE_SNPRINTF */ ++#endif /* _MSC_VER */ ++ ++/* Define to 1 if you have the `splice' function. */ ++/* #undef HAVE_SPLICE */ ++ ++/* Define to 1 if you have the `statfs' function. */ ++/* #undef HAVE_STATFS */ ++ ++/* Define to 1 if you have the `statvfs' function. */ ++/* #undef HAVE_STATVFS */ ++ ++/* Define to 1 if you have the <stddef.h> header file. */ ++#define HAVE_STDDEF_H 1 ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#ifndef _MSC_VER ++#define HAVE_STDINT_H 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_STDINT_H */ ++#endif /* _MSC_VER */ ++ ++/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares ++ uintmax_t. */ ++#ifndef _MSC_VER ++#define HAVE_STDINT_H_WITH_UINTMAX 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_STDINT_H_WITH_UINTMAX */ ++#endif /* _MSC_VER */ ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++/* #undef HAVE_STPCPY */ ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define HAVE_STRCASECMP 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef HAVE_STRCASECMP */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Define to 1 if you have the `strerror' function. */ ++#define HAVE_STRERROR 1 ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define HAVE_STRINGS_H 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef HAVE_STRINGS_H */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Have functions strlcpy and strlcat */ ++/* #undef HAVE_STRLCPY */ ++ ++/* Define to 1 if you have the `strncasecmp' function. */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define HAVE_STRNCASECMP 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef HAVE_STRNCASECMP */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Define to 1 if you have the `strndup' function. */ ++/* #undef HAVE_STRNDUP */ ++ ++/* Define to 1 if you have the `strsignal' function. */ ++/* #undef HAVE_STRSIGNAL */ ++ ++/* Define to 1 if `f_bavail' is member of `struct statfs'. */ ++/* #undef HAVE_STRUCT_STATFS_F_BAVAIL */ ++ ++/* Define to 1 if `f_fstypename' is member of `struct statfs'. */ ++/* #undef HAVE_STRUCT_STATFS_F_FSTYPENAME */ ++ ++/* Define to 1 if `f_basetype' is member of `struct statvfs'. */ ++/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */ ++ ++/* Define to 1 if `st_atimensec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */ ++ ++/* Define to 1 if `st_atim.tv_nsec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */ ++ ++/* Define to 1 if `st_blksize' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BLKSIZE */ ++ ++/* Define to 1 if `st_blocks' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_BLOCKS */ ++ ++/* Define to 1 if `st_ctimensec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_CTIMENSEC */ ++ ++/* Define to 1 if `st_ctim.tv_nsec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_CTIM_TV_NSEC */ ++ ++/* Define to 1 if `st_mtimensec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_MTIMENSEC */ ++ ++/* Define to 1 if `st_mtim.tv_nsec' is member of `struct stat'. */ ++/* #undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC */ ++ ++/* Define to 1 if you have the `symlink' function. */ ++/* #undef HAVE_SYMLINK */ ++ ++/* Define to 1 if you have the <sys/inotify.h> header file. */ ++/* #undef HAVE_SYS_INOTIFY_H */ ++ ++/* Define to 1 if you have the <sys/mntctl.h> header file. */ ++/* #undef HAVE_SYS_MNTCTL_H */ ++ ++/* Define to 1 if you have the <sys/mnttab.h> header file. */ ++/* #undef HAVE_SYS_MNTTAB_H */ ++ ++/* Define to 1 if you have the <sys/mount.h> header file. */ ++/* #undef HAVE_SYS_MOUNT_H */ ++ ++/* Define to 1 if you have the <sys/param.h> header file. */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define HAVE_SYS_PARAM_H 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef HAVE_SYS_PARAM_H */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Define to 1 if you have the <sys/poll.h> header file. */ ++/* #undef HAVE_SYS_POLL_H */ ++ ++/* Define to 1 if you have the <sys/prctl.h> header file. */ ++/* #undef HAVE_SYS_PRCTL_H */ ++ ++/* Define to 1 if you have the <sys/resource.h> header file. */ ++/* #undef HAVE_SYS_RESOURCE_H */ ++ ++/* found fd_set in sys/select.h */ ++/* #undef HAVE_SYS_SELECT_H */ ++ ++/* Define to 1 if you have the <sys/statfs.h> header file. */ ++/* #undef HAVE_SYS_STATFS_H */ ++ ++/* Define to 1 if you have the <sys/statvfs.h> header file. */ ++/* #undef HAVE_SYS_STATVFS_H */ ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the <sys/sysctl.h> header file. */ ++/* #undef HAVE_SYS_SYSCTL_H */ ++ ++/* Define to 1 if you have the <sys/times.h> header file. */ ++/* #undef HAVE_SYS_TIMES_H */ ++ ++/* Define to 1 if you have the <sys/time.h> header file. */ ++#ifndef _MSC_VER ++#define HAVE_SYS_TIME_H 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_SYS_TIME_H */ ++#endif /* _MSC_VER */ ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define to 1 if you have the <sys/uio.h> header file. */ ++/* #undef HAVE_SYS_UIO_H */ ++ ++/* Define to 1 if you have the <sys/vfstab.h> header file. */ ++/* #undef HAVE_SYS_VFSTAB_H */ ++ ++/* Define to 1 if you have the <sys/vfs.h> header file. */ ++/* #undef HAVE_SYS_VFS_H */ ++ ++/* Define to 1 if you have the <sys/vmount.h> header file. */ ++/* #undef HAVE_SYS_VMOUNT_H */ ++ ++/* Define to 1 if you have the <sys/wait.h> header file. */ ++/* #undef HAVE_SYS_WAIT_H */ ++ ++/* Define to 1 if you have the <sys/xattr.h> header file. */ ++/* #undef HAVE_SYS_XATTR_H */ ++ ++/* Define to 1 if you have the `timegm' function. */ ++/* #undef HAVE_TIMEGM */ ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#ifndef _MSC_VER ++#define HAVE_UNISTD_H 1 ++#else /* _MSC_VER */ ++/* #undef HAVE_UNISTD_H */ ++#endif /* _MSC_VER */ ++ ++/* Define if your printf function family supports positional parameters as ++ specified by Unix98. */ ++/* #undef HAVE_UNIX98_PRINTF */ ++ ++/* Define to 1 if you have the `unsetenv' function. */ ++/* #undef HAVE_UNSETENV */ ++ ++/* Define to 1 if you have the `utimes' function. */ ++/* #undef HAVE_UTIMES */ ++ ++/* Define to 1 if you have the `valloc' function. */ ++/* #undef HAVE_VALLOC */ ++ ++/* Define to 1 if you have the <values.h> header file. */ ++#if !defined(_MSC_VER) && !defined(__DMC__) ++#define HAVE_VALUES_H 1 ++#else /* _MSC_VER or __DMC__ */ ++/* #undef HAVE_VALUES_H */ ++#endif /* _MSC_VER or __DMC__ */ ++ ++/* Define to 1 if you have the `vasprintf' function. */ ++#define HAVE_VASPRINTF 1 ++ ++/* Define to 1 if you have the `vprintf' function. */ ++#define HAVE_VPRINTF 1 ++ ++/* Define to 1 if you have the `vsnprintf' function. */ ++#ifndef _MSC_VER ++#define HAVE_VSNPRINTF 1 ++#ifdef __DMC__ ++#define vsnprintf _vsnprintf ++#endif ++#else /* _MSC_VER */ ++/* #undef HAVE_VSNPRINTF */ ++#endif /* _MSC_VER */ ++ ++/* Define if you have the 'wchar_t' type. */ ++#define HAVE_WCHAR_T 1 ++ ++/* Define to 1 if you have the `wcslen' function. */ ++#define HAVE_WCSLEN 1 ++ ++/* Define if you have the 'wint_t' type. */ ++#define HAVE_WINT_T 1 ++ ++/* Have a working bcopy */ ++/* #undef HAVE_WORKING_BCOPY */ ++ ++/* Define to 1 if you have the <wspiapi.h> header file. */ ++#ifndef _MSC_VER ++/* #undef HAVE_WSPIAPI_H */ ++#else ++#define HAVE_WSPIAPI_H 1 ++#endif ++ ++/* Define to 1 if xattr is available */ ++/* #undef HAVE_XATTR */ ++ ++/* Define to 1 if xattr API uses XATTR_NOFOLLOW */ ++/* #undef HAVE_XATTR_NOFOLLOW */ ++ ++/* Define to 1 if you have the `_NSGetEnviron' function. */ ++/* #undef HAVE__NSGETENVIRON */ ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define LT_OBJDIR ".libs/" ++ ++/* Do we cache iconv descriptors */ ++#define NEED_ICONV_CACHE 1 ++ ++/* didn't find fd_set */ ++#define NO_FD_SET 1 ++ ++/* Define to 1 if your C compiler doesn't accept -c and -o together. */ ++/* #undef NO_MINUS_C_MINUS_O */ ++ ++/* global 'sys_errlist' not found */ ++#define NO_SYS_ERRLIST 1 ++ ++/* global 'sys_siglist' not found */ ++#define NO_SYS_SIGLIST 1 ++ ++/* global 'sys_siglist' not declared */ ++#define NO_SYS_SIGLIST_DECL 1 ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=glib" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "glib" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "glib 2.28.1" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "glib" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "2.28.1" ++ ++/* Maximum POSIX RT priority */ ++/* #undef POSIX_MAX_PRIORITY */ ++ ++/* define if posix_memalign() can allocate any size */ ++/* #undef POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS */ ++ ++/* Minimum POSIX RT priority */ ++/* #undef POSIX_MIN_PRIORITY */ ++ ++/* The POSIX RT yield function */ ++/* #undef POSIX_YIELD_FUNC */ ++ ++/* whether realloc (NULL,) works */ ++#define REALLOC_0_WORKS 1 ++ ++/* Define if you have correct malloc prototypes */ ++#ifndef _MSC_VER ++#define SANE_MALLOC_PROTOS 1 ++#else /* _MSC_VER */ ++/* #undef SANE_MALLOC_PROTOS */ ++#endif /* _MSC_VER */ ++ ++/* The size of `char', as computed by sizeof. */ ++#define SIZEOF_CHAR 1 ++ ++/* The size of `int', as computed by sizeof. */ ++#define SIZEOF_INT 4 ++ ++/* The size of `long', as computed by sizeof. */ ++#define SIZEOF_LONG 4 ++ ++/* The size of `long long', as computed by sizeof. */ ++#ifndef _MSC_VER ++#define SIZEOF_LONG_LONG 8 ++#else /* _MSC_VER */ ++#define SIZEOF_LONG_LONG 0 ++#endif /* _MSC_VER */ ++ ++/* The size of `short', as computed by sizeof. */ ++#define SIZEOF_SHORT 2 ++ ++/* The size of `size_t', as computed by sizeof. */ ++#define SIZEOF_SIZE_T 4 ++ ++/* The size of `void *', as computed by sizeof. */ ++#define SIZEOF_VOID_P 4 ++ ++/* The size of `__int64', as computed by sizeof. */ ++#define SIZEOF___INT64 8 ++ ++/* If using the C implementation of alloca, define if you know the ++ direction of stack growth for your system; otherwise it will be ++ automatically deduced at runtime. ++ STACK_DIRECTION > 0 => grows toward higher addresses ++ STACK_DIRECTION < 0 => grows toward lower addresses ++ STACK_DIRECTION = 0 => direction of growth unknown */ ++/* #undef STACK_DIRECTION */ ++ ++/* Number of arguments to statfs() */ ++/* #undef STATFS_ARGS */ ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Using GNU libiconv */ ++/* #undef USE_LIBICONV_GNU */ ++ ++/* Using a native implementation of iconv in a separate library */ ++#define USE_LIBICONV_NATIVE 1 ++ ++/* using the system-supplied PCRE library */ ++/* #undef USE_SYSTEM_PCRE */ ++ ++/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most ++ significant byte first (like Motorola and SPARC, unlike Intel). */ ++#if defined AC_APPLE_UNIVERSAL_BUILD ++# if defined __BIG_ENDIAN__ ++# define WORDS_BIGENDIAN 1 ++# endif ++#else ++# ifndef WORDS_BIGENDIAN ++/* # undef WORDS_BIGENDIAN */ ++# endif ++#endif ++ ++/* Number of bits in a file offset, on hosts where this is settable. */ ++/* #undef _FILE_OFFSET_BITS */ ++ ++/* Define for large files, on AIX-style hosts. */ ++/* #undef _LARGE_FILES */ ++ ++/* Needed to get declarations for msg_control and msg_controllen on Solaris */ ++/* #undef _XOPEN_SOURCE */ ++ ++/* Needed to get declarations for msg_control and msg_controllen on Solaris */ ++/* #undef _XOPEN_SOURCE_EXTENDED */ ++ ++/* Needed to get declarations for msg_control and msg_controllen on Solaris */ ++/* #undef __EXTENSIONS__ */ ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++/* #undef const */ ++ ++/* Define to long or long long if <inttypes.h> and <stdint.h> don't define. */ ++/* #undef intmax_t */ ++ ++/* Define to empty if the C compiler doesn't support this keyword. */ ++/* #undef signed */ ++ ++/* Define to `unsigned int' if <sys/types.h> does not define. */ ++/* #undef size_t */ ++ +--- misc/glib-2.28.1/gio/gvdb/makefile.msc Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/gio/gvdb/makefile.msc Wed Aug 20 14:26:42 2008 +@@ -1 +1,24 @@ +-dummy ++TOP = ..\..\.. ++ ++!INCLUDE ..\..\build\win32\make.msc ++ ++INCLUDES = \ ++ -FImsvc_recommended_pragmas.h \ ++ -I .. -I ..\..\glib -I ..\..\gmodule -I . -I ..\.. \ ++ $(INTL_CFLAGS) \ ++ $(SOLARINC) ++ ++DEFINES = \ ++ -DG_LOG_DOMAIN=\"GLib-GIO\" \ ++ -DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \ ++ -DGIO_COMPILATION ++ ++OBJECTS = \ ++ gvdb-reader.obj \ ++ gvdb-builder.obj ++ ++all : giogvdb.lib ++ ++giogvdb.lib : $(OBJECTS) ++ lib -out:giogvdb.lib $(OBJECTS) ++ +--- misc/glib-2.28.1/gio/win32/makefile.msc Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/gio/win32/makefile.msc Wed Aug 20 14:26:42 2008 +@@ -1 +1,27 @@ +-dummy ++TOP = ..\..\.. ++ ++!INCLUDE ..\..\build\win32\make.msc ++ ++INCLUDES = \ ++ -FImsvc_recommended_pragmas.h \ ++ -I .. -I ..\..\glib -I ..\..\gmodule -I . -I ..\.. \ ++ $(INTL_CFLAGS) \ ++ $(SOLARINC) ++ ++DEFINES = \ ++ -DG_LOG_DOMAIN=\"GLib-GIO\" \ ++ -DGIO_MODULE_DIR=\"$(libdir)/gio/modules\" \ ++ -DGIO_COMPILATION ++ ++OBJECTS = \ ++ gwin32directorymonitor.obj \ ++ gwinhttpfile.obj \ ++ gwinhttpfileinputstream.obj \ ++ gwinhttpfileoutputstream.obj \ ++ gwinhttpvfs.obj \ ++ ++all : giowin32.lib ++ ++giowin32.lib : $(OBJECTS) ++ lib -out:giowin32.lib $(OBJECTS) ++ +--- misc/glib-2.28.1/gobject/gmarshal.c Wed Aug 20 14:33:55 2008 ++++ misc/build/glib-2.28.1/gobject/gmarshal.c Wed Aug 20 14:26:42 2008 +@@ -1,4 +1,13 @@
++#include "config.h"
+
++#include "gsourceclosure.h"
++#include "gboxed.h"
++#include "genums.h"
++#include "gmarshal.h"
++#include "gvalue.h"
++#include "gvaluetypes.h"
++#include "gparam.h"
++#include "gobject.h"
+
+ #ifdef G_ENABLE_DEBUG
+ #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
diff --git a/glib/glib-2.28.1.noise.patch b/glib/glib-2.28.1.noise.patch new file mode 100644 index 000000000000..f42b08a97a64 --- /dev/null +++ b/glib/glib-2.28.1.noise.patch @@ -0,0 +1,12 @@ +--- misc/glib-2.28.1/gio/tests/Makefile.in 2011-02-18 16:22:00.000000000 +0100 ++++ misc/build/glib-2.28.1/gio/tests/Makefile.in 2011-06-10 16:37:05.000000000 +0200 +@@ -1020,7 +1020,9 @@ + proxy_LDADD = $(progs_ldadd) \ + $(top_builddir)/gthread/libgthread-2.0.la + ++ifneq ($(MSGFMT),) + MISC_STUFF = test.mo ++endif + DISTCLEANFILES = \ + applications/mimeinfo.cache \ + org.gtk.test.enums.xml \ diff --git a/glib/glib-2.28.1.patch b/glib/glib-2.28.1.patch new file mode 100644 index 000000000000..49a6faa9c2a5 --- /dev/null +++ b/glib/glib-2.28.1.patch @@ -0,0 +1,153 @@ +--- misc/glib-2.28.1/gio/gzlibcompressor.c 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/gio/gzlibcompressor.c 2011-02-25 15:59:17.000000000 +0100 +@@ -73,7 +73,7 @@ + g_zlib_compressor_set_gzheader (GZlibCompressor *compressor) + { + /* On win32, these functions were not exported before 1.2.4 */ +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && ! defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + const gchar *filename; + + if (compressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP || +--- misc/glib-2.28.1/gio/gzlibdecompressor.c 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/gio/gzlibdecompressor.c 2011-02-25 16:00:43.000000000 +0100 +@@ -76,7 +76,7 @@ + g_zlib_decompressor_set_gzheader (GZlibDecompressor *decompressor) + { + /* On win32, these functions were not exported before 1.2.4 */ +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && !defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + if (decompressor->format != G_ZLIB_COMPRESSOR_FORMAT_GZIP) + return; + +@@ -376,7 +376,7 @@ + *bytes_read = inbuf_size - decompressor->zstream.avail_in; + *bytes_written = outbuf_size - decompressor->zstream.avail_out; + +-#if !defined (G_OS_WIN32) || ZLIB_VERNUM >= 0x1240 ++#if (!defined (G_OS_WIN32) && !defined(BUILD_OS_APPLEOSX)) || ZLIB_VERNUM >= 0x1240 + if (decompressor->header_data != NULL && + decompressor->header_data->gzheader.done == 1) + { +--- misc/glib-2.28.1/glib/gatomic.c 2011-02-11 16:23:12.000000000 +0100 ++++ misc/build/glib-2.28.1/glib/gatomic.c 2011-02-25 15:51:45.000000000 +0100 +@@ -28,6 +28,7 @@ + #endif + + #include "gatomic.h" ++#include "gthread.h" + #include "gthreadprivate.h" + + /** +--- misc/glib-2.28.1/glib/gconvert.c ++++ misc/build/glib-2.28.1/glib/gconvert.c +@@ -58,13 +58,6 @@ + + #include "glibintl.h" + +-#if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H) +-#error GNU libiconv in use but included iconv.h not from libiconv +-#endif +-#if !defined(USE_LIBICONV_GNU) && defined (_LIBICONV_H) +-#error GNU libiconv not in use but included iconv.h is from libiconv +-#endif +- + + /** + * SECTION:conversions + +--- misc/glib-2.28.1/configure ++++ misc/build/glib-2.28.1/configure +@@ -7097,6 +7097,7 @@ + fi + + ++if false; then + # Need suitable python path for greport + + +@@ -7325,6 +7326,7 @@ + + + ++fi + + + +@@ -7988,6 +7988,7 @@ + CONFIG_STATUS_DEPENDENCIES='$(top_srcdir)/po/LINGUAS' + + ++ if false; then + for ac_header in locale.h + do : + ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" +@@ -8701,6 +8701,8 @@ + + LIBS="$INTLLIBS $LIBS" + ++fi ++ + GETTEXT_PACKAGE=glib20 + + +--- misc/glib-2.28.1/Makefile.in ++++ misc/build/glib-2.28.1/Makefile.in +@@ -422,7 +422,7 @@ + gio-2.0-uninstalled.pc.in gio-unix-2.0-uninstalled.pc.in + TEST_PROGS = + ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS} +-SUBDIRS = . m4macros glib gmodule gthread gobject gio tests po docs ++SUBDIRS = . m4macros glib gmodule gthread gobject gio tests + DIST_SUBDIRS = $(SUBDIRS) build + bin_SCRIPTS = glib-gettextize + AM_CPPFLAGS = \ +--- misc/glib-2.28.1/glib/gi18n.h ++++ misc/build/glib-2.28.1/glib/gi18n.h +@@ -20,15 +20,10 @@ + #ifndef __G_I18N_H__ + #define __G_I18N_H__ + +-#include <glib.h> +- +-#include <libintl.h> +-#include <string.h> +- +-#define _(String) gettext (String) +-#define Q_(String) g_dpgettext (NULL, String, 0) +-#define N_(String) (String) +-#define C_(Context,String) g_dpgettext (NULL, Context "\004" String, strlen (Context) + 1) ++#define _(String) (String) ++#define Q_(String) (String) ++#define N_(String) (String) ++#define C_(Context,String) (String) + #define NC_(Context, String) (String) + + #endif /* __G_I18N_H__ */ +--- misc/glib-2.28.1/gio/tests/gsettings.c ++++ misc/build/glib-2.28.1/gio/tests/gsettings.c +@@ -1,7 +1,9 @@ ++#include "config.h" ++ + #include <stdlib.h> + #include <locale.h> +-#include <libintl.h> + #include <gio/gio.h> ++#include "glibintl.h" + #include <gstdio.h> + #define G_SETTINGS_ENABLE_BACKEND + #include <gio/gsettingsbackend.h> +--- misc/glib-2.28.1/gio/tests/gschema-compile.c ++++ misc/build/glib-2.28.1/gio/tests/gschema-compile.c +@@ -1,8 +1,10 @@ ++#include "config.h" ++ + #include <stdlib.h> + #include <unistd.h> + #include <locale.h> +-#include <libintl.h> + #include <gio/gio.h> ++#include "glibintl.h" + #include <gstdio.h> + + typedef struct { diff --git a/glib/makefile.mk b/glib/makefile.mk new file mode 100644 index 000000000000..1b31d395eab6 --- /dev/null +++ b/glib/makefile.mk @@ -0,0 +1,377 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=glib +TARGET=so_glib + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_GLIB)" == "YES" +all: + @echo "An already available installation of glib should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +GLIBVERSION=2.28.1 + +TARFILE_NAME=$(PRJNAME)-$(GLIBVERSION) +TARFILE_MD5=9f6e85e1e38490c3956f4415bcd33e6e + + +.IF "$(OS)"=="MACOSX" || "$(OS)"=="IOS" +PATCH_FILES=glib-2.28.1.patch glib-2.28.1.noise.patch + +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS= \ + glib_cv_stack_grows=no \ + glib_cv_uscore=yes \ + ac_cv_func_posix_getpwuid_r=yes \ + ac_cv_func_posix_getgrgid_r=yes \ + ac_cv_func__NSGetEnviron=no \ + --disable-shared +FRAMEWORK=-framework CoreFoundation +.ELSE +CONFIGURE_FLAGS=--disable-static +.ENDIF + +.IF "$(OS)"=="MACOSX" && "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+= \ + glib_cv_stack_grows=no \ + glib_cv_uscore=yes \ + ac_cv_func_posix_getpwuid_r=yes \ + ac_cv_func_posix_getgrgid_r=yes \ + ac_cv_func__NSGetEnviron=yes +.ENDIF + +CONFIGURE_FLAGS+=--prefix=$(SRC_ROOT)$/$(PRJNAME)$/$(MISC) +CONFIGURE_FLAGS+=--disable-fam +CONFIGURE_FLAGS+=CPPFLAGS="$(ARCH_FLAGS) $(EXTRA_CDEFS) -DBUILD_OS_APPLEOSX" +CONFIGURE_FLAGS+=CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)$/external" +CONFIGURE_FLAGS+=LDFLAGS="-L$(SOLARLIBDIR) $(EXTRA_LINKFLAGS) $(FRAMEWORK)" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure + +.IF "$(VERBOSE)"!="" +VFLAG=V=1 +.ENDIF + +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG) -j$(MAXPROCESS) + +.IF "$(OS)"=="MACOSX" + +EXTRPATH=LOADER + +OUT2LIB+=gio/.libs/libgio-2.0.0.dylib +OUT2LIB+=glib/.libs/libglib-2.0.0.dylib +OUT2LIB+=gmodule/.libs/libgmodule-2.0.0.dylib +OUT2LIB+=gobject/.libs/libgobject-2.0.0.dylib +OUT2LIB+=gthread/.libs/libgthread-2.0.0.dylib + +OUT2BIN+=gobject/glib-mkenums +OUT2BIN+=gobject/.libs/glib-genmarshal +OUT2BIN+=gio/.libs/glib-compile-schemas + +.ELIF "$(OS)"=="IOS" + +OUT2LIB+=gio/.libs/libgio-2.0.a +OUT2LIB+=glib/.libs/libglib-2.0.a +OUT2LIB+=gmodule/.libs/libgmodule-2.0.a +OUT2LIB+=gobject/.libs/libgobject-2.0.a +OUT2LIB+=gthread/.libs/libgthread-2.0.a + +.ENDIF + +.ELIF "$(OS)"=="WNT" + +CONVERTFILES=gobject/gmarshal.c + +PATCH_FILES=glib-2.28.1-win32.patch glib-2.28.1-win32-2.patch + +CONFIGURE_ACTION= + +ADDITIONAL_FILES= config.h \ + gio/gvdb/makefile.msc \ + gio/win32/makefile.msc \ + glib/glibconfig.h \ + gmodule/gmoduleconf.h \ + gobject/glib-mkenums + +BUILD_ACTION=nmake -f makefile.msc + +OUT2BIN+=gio$/giolo.dll +OUT2BIN+=glib$/gliblo.dll +OUT2BIN+=gmodule$/gmodulelo.dll +OUT2BIN+=gobject$/gobjectlo.dll +OUT2BIN+=gthread$/gthreadlo.dll +OUT2BIN+=gobject$/glib-mkenums +OUT2BIN+=gobject$/glib-genmarshal.exe + +OUT2LIB+=build/win32/dirent/dirent.lib +OUT2LIB+=gio/gio-2.0.lib +OUT2LIB+=gio/gvdb/giogvdb.lib +OUT2LIB+=gio/win32/giowin32.lib +OUT2LIB+=glib/glib-2.0.lib +OUT2LIB+=glib/glib-2.28s.lib +OUT2LIB+=glib/gnulib/gnulib.lib +OUT2LIB+=glib/pcre/pcre.lib +OUT2LIB+=gmodule/gmodule-2.0.lib +OUT2LIB+=gobject/glib-genmarshal.lib +OUT2LIB+=gobject/gobject-2.0.lib +OUT2LIB+=gthread/gthread-2.0.lib + +OUT2INC+=build$/win32$/make.msc +OUT2INC+=build$/win32$/module.defs + +.ENDIF + +OUT2INC+=glib/glib.h +OUT2INC+=glib/glib-object.h +OUT2INC+=glib/glibconfig.h +OUT2INC+=gmodule/gmodule.h + +OUT2INC+=gio/gdesktopappinfo.h +OUT2INC+=gio/gunixcredentialsmessage.h +OUT2INC+=gio/gunixinputstream.h +OUT2INC+=gio/gunixsocketaddress.h +OUT2INC+=gio/gfiledescriptorbased.h +OUT2INC+=gio/gunixfdlist.h +OUT2INC+=gio/gunixmounts.h +OUT2INC+=gio/gunixconnection.h +OUT2INC+=gio/gunixfdmessage.h +OUT2INC+=gio/gunixoutputstream.h + + +OUT2INC+=gio/gaction.h +OUT2INC+=gio/gfileicon.h +OUT2INC+=gio/gproxyaddressenumerator.h +OUT2INC+=gio/gactiongroup.h +OUT2INC+=gio/gfileinfo.h +OUT2INC+=gio/gproxyresolver.h +OUT2INC+=gio/gappinfo.h +OUT2INC+=gio/gfileinputstream.h +OUT2INC+=gio/gresolver.h +OUT2INC+=gio/gapplication.h +OUT2INC+=gio/gfileiostream.h +OUT2INC+=gio/gseekable.h +OUT2INC+=gio/gapplicationcommandline.h +OUT2INC+=gio/gfilemonitor.h +OUT2INC+=gio/gsettings.h +OUT2INC+=gio/gasyncinitable.h +OUT2INC+=gio/gfilenamecompleter.h +OUT2INC+=gio/gsettingsbackend.h +OUT2INC+=gio/gasyncresult.h +OUT2INC+=gio/gfileoutputstream.h +OUT2INC+=gio/gsimpleaction.h +OUT2INC+=gio/gbufferedinputstream.h +OUT2INC+=gio/gfilterinputstream.h +OUT2INC+=gio/gsimpleactiongroup.h +OUT2INC+=gio/gbufferedoutputstream.h +OUT2INC+=gio/gfilteroutputstream.h +OUT2INC+=gio/gsimpleasyncresult.h +OUT2INC+=gio/gcancellable.h +OUT2INC+=gio/gicon.h +OUT2INC+=gio/gsimplepermission.h +OUT2INC+=gio/gcharsetconverter.h +OUT2INC+=gio/ginetaddress.h +OUT2INC+=gio/gsocket.h +OUT2INC+=gio/gcontenttype.h +OUT2INC+=gio/ginetsocketaddress.h +OUT2INC+=gio/gsocketaddress.h +OUT2INC+=gio/gconverter.h +OUT2INC+=gio/ginitable.h +OUT2INC+=gio/gsocketaddressenumerator.h +OUT2INC+=gio/gconverterinputstream.h +OUT2INC+=gio/ginputstream.h +OUT2INC+=gio/gsocketclient.h +OUT2INC+=gio/gconverteroutputstream.h +OUT2INC+=gio/gio.h +OUT2INC+=gio/gsocketconnectable.h +OUT2INC+=gio/gcredentials.h +OUT2INC+=gio/gioenums.h +OUT2INC+=gio/gsocketconnection.h +OUT2INC+=gio/gdatainputstream.h +OUT2INC+=gio/gioenumtypes.h +OUT2INC+=gio/gsocketcontrolmessage.h +OUT2INC+=gio/gdataoutputstream.h +OUT2INC+=gio/gioerror.h +OUT2INC+=gio/gsocketlistener.h +OUT2INC+=gio/gdbusaddress.h +OUT2INC+=gio/giomodule.h +OUT2INC+=gio/gsocketservice.h +OUT2INC+=gio/gdbusauthobserver.h +OUT2INC+=gio/gioscheduler.h +OUT2INC+=gio/gsrvtarget.h +OUT2INC+=gio/gdbusconnection.h +OUT2INC+=gio/giostream.h +OUT2INC+=gio/gtcpconnection.h +OUT2INC+=gio/gdbuserror.h +OUT2INC+=gio/giotypes.h +OUT2INC+=gio/gtcpwrapperconnection.h +OUT2INC+=gio/gdbusintrospection.h +OUT2INC+=gio/gloadableicon.h +OUT2INC+=gio/gthemedicon.h +OUT2INC+=gio/gdbusmessage.h +OUT2INC+=gio/gmemoryinputstream.h +OUT2INC+=gio/gthreadedsocketservice.h +OUT2INC+=gio/gdbusmethodinvocation.h +OUT2INC+=gio/gmemoryoutputstream.h +OUT2INC+=gio/gtlsbackend.h +OUT2INC+=gio/gdbusnameowning.h +OUT2INC+=gio/gmount.h +OUT2INC+=gio/gtlscertificate.h +OUT2INC+=gio/gdbusnamewatching.h +OUT2INC+=gio/gmountoperation.h +OUT2INC+=gio/gtlsclientconnection.h +OUT2INC+=gio/gdbusproxy.h +OUT2INC+=gio/gnativevolumemonitor.h +OUT2INC+=gio/gtlsconnection.h +OUT2INC+=gio/gdbusserver.h +OUT2INC+=gio/gnetworkaddress.h +OUT2INC+=gio/gtlsserverconnection.h +OUT2INC+=gio/gdbusutils.h +OUT2INC+=gio/gnetworkservice.h +OUT2INC+=gio/gvfs.h +OUT2INC+=gio/gdrive.h +OUT2INC+=gio/goutputstream.h +OUT2INC+=gio/gvolume.h +OUT2INC+=gio/gemblem.h +OUT2INC+=gio/gpermission.h +OUT2INC+=gio/gvolumemonitor.h +OUT2INC+=gio/gemblemedicon.h +OUT2INC+=gio/gpollableinputstream.h +OUT2INC+=gio/gzlibcompressor.h +OUT2INC+=gio/gfile.h +OUT2INC+=gio/gpollableoutputstream.h +OUT2INC+=gio/gzlibdecompressor.h +OUT2INC+=gio/gfileattribute.h +OUT2INC+=gio/gproxy.h +OUT2INC+=gio/gfileenumerator.h +OUT2INC+=gio/gproxyaddress.h + +OUT2INC+=glib/galloca.h +OUT2INC+=glib/gconvert.h +OUT2INC+=glib/gi18n.h +OUT2INC+=glib/goption.h +OUT2INC+=glib/gscanner.h +OUT2INC+=glib/gthreadpool.h +OUT2INC+=glib/garray.h +OUT2INC+=glib/gdataset.h +OUT2INC+=glib/giochannel.h +OUT2INC+=glib/gpattern.h +OUT2INC+=glib/gsequence.h +OUT2INC+=glib/gtimer.h +OUT2INC+=glib/gasyncqueue.h +OUT2INC+=glib/gdate.h +OUT2INC+=glib/gkeyfile.h +OUT2INC+=glib/gpoll.h +OUT2INC+=glib/gshell.h +OUT2INC+=glib/gtimezone.h +OUT2INC+=glib/gatomic.h +OUT2INC+=glib/gdatetime.h +OUT2INC+=glib/glist.h +OUT2INC+=glib/gprimes.h +OUT2INC+=glib/gslice.h +OUT2INC+=glib/gtree.h +OUT2INC+=glib/gbacktrace.h +OUT2INC+=glib/gdir.h +OUT2INC+=glib/gmacros.h +OUT2INC+=glib/gprintf.h +OUT2INC+=glib/gslist.h +OUT2INC+=glib/gtypes.h +OUT2INC+=glib/gbase64.h +OUT2INC+=glib/gerror.h +OUT2INC+=glib/gmain.h +OUT2INC+=glib/gqsort.h +OUT2INC+=glib/gspawn.h +OUT2INC+=glib/gunicode.h +OUT2INC+=glib/gbitlock.h +OUT2INC+=glib/gfileutils.h +OUT2INC+=glib/gmappedfile.h +OUT2INC+=glib/gquark.h +OUT2INC+=glib/gstdio.h +OUT2INC+=glib/gurifuncs.h +OUT2INC+=glib/gbookmarkfile.h +OUT2INC+=glib/ghash.h +OUT2INC+=glib/gmarkup.h +OUT2INC+=glib/gqueue.h +OUT2INC+=glib/gstrfuncs.h +OUT2INC+=glib/gutils.h +OUT2INC+=glib/gcache.h +OUT2INC+=glib/ghook.h +OUT2INC+=glib/gmem.h +OUT2INC+=glib/grand.h +OUT2INC+=glib/gstring.h +OUT2INC+=glib/gvariant.h +OUT2INC+=glib/gchecksum.h +OUT2INC+=glib/ghostutils.h +OUT2INC+=glib/gmessages.h +OUT2INC+=glib/gregex.h +OUT2INC+=glib/gtestutils.h +OUT2INC+=glib/gvarianttype.h +OUT2INC+=glib/gcompletion.h +OUT2INC+=glib/gi18n-lib.h +OUT2INC+=glib/gnode.h +OUT2INC+=glib/grel.h +OUT2INC+=glib/gthread.h +OUT2INC+=glib/gwin32.h + + +OUT2INC+=gobject/gbinding.h +OUT2INC+=gobject/gmarshal.h +OUT2INC+=gobject/gparamspecs.h +OUT2INC+=gobject/gtypemodule.h +OUT2INC+=gobject/gvaluecollector.h +OUT2INC+=gobject/gboxed.h +OUT2INC+=gobject/gobject.h +OUT2INC+=gobject/gsignal.h +OUT2INC+=gobject/gtypeplugin.h +OUT2INC+=gobject/gvaluetypes.h +OUT2INC+=gobject/gclosure.h +OUT2INC+=gobject/gobjectnotifyqueue.c +OUT2INC+=gobject/gsourceclosure.h +OUT2INC+=gobject/gvalue.h +OUT2INC+=gobject/genums.h +OUT2INC+=gobject/gparam.h +OUT2INC+=gobject/gtype.h +OUT2INC+=gobject/gvaluearray.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/glib/prj/build.lst b/glib/prj/build.lst new file mode 100644 index 000000000000..4ce80753c576 --- /dev/null +++ b/glib/prj/build.lst @@ -0,0 +1,3 @@ +gl glib : gettext NULL +gl glib usr1 - all gl_mkout NULL +gl glib nmake - all gl_glib NULL diff --git a/glib/prj/d.lst b/glib/prj/d.lst new file mode 100644 index 000000000000..751d5c65b295 --- /dev/null +++ b/glib/prj/d.lst @@ -0,0 +1,240 @@ +mkdir: %_DEST%\inc\external +..\%__SRC%\lib\libgio-2.0.0.dylib %_DEST%\lib\libgio-2.0.0.dylib +symlink: %_DEST%\lib\libgio-2.0.0.dylib %_DEST%\lib\libgio-2.0.dylib +..\%__SRC%\lib\libgmodule-2.0.0.dylib %_DEST%\lib\libgmodule-2.0.0.dylib +symlink: %_DEST%\lib\libgmodule-2.0.0.dylib %_DEST%\lib\libgmodule-2.0.dylib +..\%__SRC%\lib\libgthread-2.0.0.dylib %_DEST%\lib\libgthread-2.0.0.dylib +symlink: %_DEST%\lib\libgthread-2.0.0.dylib %_DEST%\lib\libgthread-2.0.dylib +..\%__SRC%\lib\libglib-2.0.0.dylib %_DEST%\lib\libglib-2.0.0.dylib +symlink: %_DEST%\lib\libglib-2.0.0.dylib %_DEST%\lib\libglib-2.0.dylib +..\%__SRC%\lib\libgobject-2.0.0.dylib %_DEST%\lib\libgobject-2.0.0.dylib +symlink: %_DEST%\lib\libgobject-2.0.0.dylib %_DEST%\lib\libgobject-2.0.dylib +..\%__SRC%\bin\*.dll %_DEST%\bin +..\%__SRC%\bin\glib-mkenums %_DEST%\bin\glib-mkenums +..\%__SRC%\bin\glib-genmarshal %_DEST%\bin\glib-genmarshal +..\%__SRC%\bin\glib-genmarshal.exe %_DEST%\bin\glib-genmarshal.exe +..\%__SRC%\bin\glib-compile-schemas %_DEST%\bin\glib-compile-schemas +..\%__SRC%\lib\gio-2.0.lib %_DEST%\lib\gio-2.0.lib +..\%__SRC%\lib\gmodule-2.0.lib %_DEST%\lib\gmodule-2.0.lib +..\%__SRC%\lib\gthread-2.0.lib %_DEST%\lib\gthread-2.0.lib +..\%__SRC%\lib\glib-2.0.lib %_DEST%\lib\glib-2.0.lib +..\%__SRC%\lib\gobject-2.0.lib %_DEST%\lib\gobject-2.0.lib + +mkdir: %_DEST%\inc\external\gio-unix-2.0 +mkdir: %_DEST%\inc\external\gio-unix-2.0\gio +..\%__SRC%\inc\gdesktopappinfo.h %_DEST%\inc\external\gio-unix-2.0\gio\gdesktopappinfo.h +..\%__SRC%\inc\gunixcredentialsmessage.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixcredentialsmessage.h +..\%__SRC%\inc\gunixinputstream.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixinputstream.h +..\%__SRC%\inc\gunixsocketaddress.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixsocketaddress.h +..\%__SRC%\inc\gfiledescriptorbased.h %_DEST%\inc\external\gio-unix-2.0\gio\gfiledescriptorbased.h +..\%__SRC%\inc\gunixfdlist.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixfdlist.h +..\%__SRC%\inc\gunixmounts.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixmounts.h +..\%__SRC%\inc\gunixconnection.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixconnection.h +..\%__SRC%\inc\gunixfdmessage.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixfdmessage.h +..\%__SRC%\inc\gunixoutputstream.h %_DEST%\inc\external\gio-unix-2.0\gio\gunixoutputstream.h + +mkdir: %_DEST%\inc\external\glib-2.0 +..\%__SRC%\inc\glib-object.h %_DEST%\inc\external\glib-2.0\glib-object.h +..\%__SRC%\inc\glib.h %_DEST%\inc\external\glib-2.0\glib.h +..\%__SRC%\inc\glibconfig.h %_DEST%\inc\external\glib-2.0\glibconfig.h +..\%__SRC%\inc\gmodule.h %_DEST%\inc\external\glib-2.0\gmodule.h +..\%__SRC%\inc\make.msc %_DEST%\inc\external\glib-2.0\make.msc +..\%__SRC%\inc\module.defs %_DEST%\inc\external\glib-2.0\module.defs + +mkdir: %_DEST%\inc\external\glib-2.0\gio +..\%__SRC%\inc\gaction.h %_DEST%\inc\external\glib-2.0\gio\gaction.h +..\%__SRC%\inc\gfileicon.h %_DEST%\inc\external\glib-2.0\gio\gfileicon.h +..\%__SRC%\inc\gproxyaddressenumerator.h %_DEST%\inc\external\glib-2.0\gio\gproxyaddressenumerator.h +..\%__SRC%\inc\gactiongroup.h %_DEST%\inc\external\glib-2.0\gio\gactiongroup.h +..\%__SRC%\inc\gfileinfo.h %_DEST%\inc\external\glib-2.0\gio\gfileinfo.h +..\%__SRC%\inc\gproxyresolver.h %_DEST%\inc\external\glib-2.0\gio\gproxyresolver.h +..\%__SRC%\inc\gappinfo.h %_DEST%\inc\external\glib-2.0\gio\gappinfo.h +..\%__SRC%\inc\gfileinputstream.h %_DEST%\inc\external\glib-2.0\gio\gfileinputstream.h +..\%__SRC%\inc\gresolver.h %_DEST%\inc\external\glib-2.0\gio\gresolver.h +..\%__SRC%\inc\gapplication.h %_DEST%\inc\external\glib-2.0\gio\gapplication.h +..\%__SRC%\inc\gfileiostream.h %_DEST%\inc\external\glib-2.0\gio\gfileiostream.h +..\%__SRC%\inc\gseekable.h %_DEST%\inc\external\glib-2.0\gio\gseekable.h +..\%__SRC%\inc\gapplicationcommandline.h %_DEST%\inc\external\glib-2.0\gio\gapplicationcommandline.h +..\%__SRC%\inc\gfilemonitor.h %_DEST%\inc\external\glib-2.0\gio\gfilemonitor.h +..\%__SRC%\inc\gsettings.h %_DEST%\inc\external\glib-2.0\gio\gsettings.h +..\%__SRC%\inc\gasyncinitable.h %_DEST%\inc\external\glib-2.0\gio\gasyncinitable.h +..\%__SRC%\inc\gfilenamecompleter.h %_DEST%\inc\external\glib-2.0\gio\gfilenamecompleter.h +..\%__SRC%\inc\gsettingsbackend.h %_DEST%\inc\external\glib-2.0\gio\gsettingsbackend.h +..\%__SRC%\inc\gasyncresult.h %_DEST%\inc\external\glib-2.0\gio\gasyncresult.h +..\%__SRC%\inc\gfileoutputstream.h %_DEST%\inc\external\glib-2.0\gio\gfileoutputstream.h +..\%__SRC%\inc\gsimpleaction.h %_DEST%\inc\external\glib-2.0\gio\gsimpleaction.h +..\%__SRC%\inc\gbufferedinputstream.h %_DEST%\inc\external\glib-2.0\gio\gbufferedinputstream.h +..\%__SRC%\inc\gfilterinputstream.h %_DEST%\inc\external\glib-2.0\gio\gfilterinputstream.h +..\%__SRC%\inc\gsimpleactiongroup.h %_DEST%\inc\external\glib-2.0\gio\gsimpleactiongroup.h +..\%__SRC%\inc\gbufferedoutputstream.h %_DEST%\inc\external\glib-2.0\gio\gbufferedoutputstream.h +..\%__SRC%\inc\gfilteroutputstream.h %_DEST%\inc\external\glib-2.0\gio\gfilteroutputstream.h +..\%__SRC%\inc\gsimpleasyncresult.h %_DEST%\inc\external\glib-2.0\gio\gsimpleasyncresult.h +..\%__SRC%\inc\gcancellable.h %_DEST%\inc\external\glib-2.0\gio\gcancellable.h +..\%__SRC%\inc\gicon.h %_DEST%\inc\external\glib-2.0\gio\gicon.h +..\%__SRC%\inc\gsimplepermission.h %_DEST%\inc\external\glib-2.0\gio\gsimplepermission.h +..\%__SRC%\inc\gcharsetconverter.h %_DEST%\inc\external\glib-2.0\gio\gcharsetconverter.h +..\%__SRC%\inc\ginetaddress.h %_DEST%\inc\external\glib-2.0\gio\ginetaddress.h +..\%__SRC%\inc\gsocket.h %_DEST%\inc\external\glib-2.0\gio\gsocket.h +..\%__SRC%\inc\gcontenttype.h %_DEST%\inc\external\glib-2.0\gio\gcontenttype.h +..\%__SRC%\inc\ginetsocketaddress.h %_DEST%\inc\external\glib-2.0\gio\ginetsocketaddress.h +..\%__SRC%\inc\gsocketaddress.h %_DEST%\inc\external\glib-2.0\gio\gsocketaddress.h +..\%__SRC%\inc\gconverter.h %_DEST%\inc\external\glib-2.0\gio\gconverter.h +..\%__SRC%\inc\ginitable.h %_DEST%\inc\external\glib-2.0\gio\ginitable.h +..\%__SRC%\inc\gsocketaddressenumerator.h %_DEST%\inc\external\glib-2.0\gio\gsocketaddressenumerator.h +..\%__SRC%\inc\gconverterinputstream.h %_DEST%\inc\external\glib-2.0\gio\gconverterinputstream.h +..\%__SRC%\inc\ginputstream.h %_DEST%\inc\external\glib-2.0\gio\ginputstream.h +..\%__SRC%\inc\gsocketclient.h %_DEST%\inc\external\glib-2.0\gio\gsocketclient.h +..\%__SRC%\inc\gconverteroutputstream.h %_DEST%\inc\external\glib-2.0\gio\gconverteroutputstream.h +..\%__SRC%\inc\gio.h %_DEST%\inc\external\glib-2.0\gio\gio.h +..\%__SRC%\inc\gsocketconnectable.h %_DEST%\inc\external\glib-2.0\gio\gsocketconnectable.h +..\%__SRC%\inc\gcredentials.h %_DEST%\inc\external\glib-2.0\gio\gcredentials.h +..\%__SRC%\inc\gioenums.h %_DEST%\inc\external\glib-2.0\gio\gioenums.h +..\%__SRC%\inc\gsocketconnection.h %_DEST%\inc\external\glib-2.0\gio\gsocketconnection.h +..\%__SRC%\inc\gdatainputstream.h %_DEST%\inc\external\glib-2.0\gio\gdatainputstream.h +..\%__SRC%\inc\gioenumtypes.h %_DEST%\inc\external\glib-2.0\gio\gioenumtypes.h +..\%__SRC%\inc\gsocketcontrolmessage.h %_DEST%\inc\external\glib-2.0\gio\gsocketcontrolmessage.h +..\%__SRC%\inc\gdataoutputstream.h %_DEST%\inc\external\glib-2.0\gio\gdataoutputstream.h +..\%__SRC%\inc\gioerror.h %_DEST%\inc\external\glib-2.0\gio\gioerror.h +..\%__SRC%\inc\gsocketlistener.h %_DEST%\inc\external\glib-2.0\gio\gsocketlistener.h +..\%__SRC%\inc\gdbusaddress.h %_DEST%\inc\external\glib-2.0\gio\gdbusaddress.h +..\%__SRC%\inc\giomodule.h %_DEST%\inc\external\glib-2.0\gio\giomodule.h +..\%__SRC%\inc\gsocketservice.h %_DEST%\inc\external\glib-2.0\gio\gsocketservice.h +..\%__SRC%\inc\gdbusauthobserver.h %_DEST%\inc\external\glib-2.0\gio\gdbusauthobserver.h +..\%__SRC%\inc\gioscheduler.h %_DEST%\inc\external\glib-2.0\gio\gioscheduler.h +..\%__SRC%\inc\gsrvtarget.h %_DEST%\inc\external\glib-2.0\gio\gsrvtarget.h +..\%__SRC%\inc\gdbusconnection.h %_DEST%\inc\external\glib-2.0\gio\gdbusconnection.h +..\%__SRC%\inc\giostream.h %_DEST%\inc\external\glib-2.0\gio\giostream.h +..\%__SRC%\inc\gtcpconnection.h %_DEST%\inc\external\glib-2.0\gio\gtcpconnection.h +..\%__SRC%\inc\gdbuserror.h %_DEST%\inc\external\glib-2.0\gio\gdbuserror.h +..\%__SRC%\inc\giotypes.h %_DEST%\inc\external\glib-2.0\gio\giotypes.h +..\%__SRC%\inc\gtcpwrapperconnection.h %_DEST%\inc\external\glib-2.0\gio\gtcpwrapperconnection.h +..\%__SRC%\inc\gdbusintrospection.h %_DEST%\inc\external\glib-2.0\gio\gdbusintrospection.h +..\%__SRC%\inc\gloadableicon.h %_DEST%\inc\external\glib-2.0\gio\gloadableicon.h +..\%__SRC%\inc\gthemedicon.h %_DEST%\inc\external\glib-2.0\gio\gthemedicon.h +..\%__SRC%\inc\gdbusmessage.h %_DEST%\inc\external\glib-2.0\gio\gdbusmessage.h +..\%__SRC%\inc\gmemoryinputstream.h %_DEST%\inc\external\glib-2.0\gio\gmemoryinputstream.h +..\%__SRC%\inc\gthreadedsocketservice.h %_DEST%\inc\external\glib-2.0\gio\gthreadedsocketservice.h +..\%__SRC%\inc\gdbusmethodinvocation.h %_DEST%\inc\external\glib-2.0\gio\gdbusmethodinvocation.h +..\%__SRC%\inc\gmemoryoutputstream.h %_DEST%\inc\external\glib-2.0\gio\gmemoryoutputstream.h +..\%__SRC%\inc\gtlsbackend.h %_DEST%\inc\external\glib-2.0\gio\gtlsbackend.h +..\%__SRC%\inc\gdbusnameowning.h %_DEST%\inc\external\glib-2.0\gio\gdbusnameowning.h +..\%__SRC%\inc\gmount.h %_DEST%\inc\external\glib-2.0\gio\gmount.h +..\%__SRC%\inc\gtlscertificate.h %_DEST%\inc\external\glib-2.0\gio\gtlscertificate.h +..\%__SRC%\inc\gdbusnamewatching.h %_DEST%\inc\external\glib-2.0\gio\gdbusnamewatching.h +..\%__SRC%\inc\gmountoperation.h %_DEST%\inc\external\glib-2.0\gio\gmountoperation.h +..\%__SRC%\inc\gtlsclientconnection.h %_DEST%\inc\external\glib-2.0\gio\gtlsclientconnection.h +..\%__SRC%\inc\gdbusproxy.h %_DEST%\inc\external\glib-2.0\gio\gdbusproxy.h +..\%__SRC%\inc\gnativevolumemonitor.h %_DEST%\inc\external\glib-2.0\gio\gnativevolumemonitor.h +..\%__SRC%\inc\gtlsconnection.h %_DEST%\inc\external\glib-2.0\gio\gtlsconnection.h +..\%__SRC%\inc\gdbusserver.h %_DEST%\inc\external\glib-2.0\gio\gdbusserver.h +..\%__SRC%\inc\gnetworkaddress.h %_DEST%\inc\external\glib-2.0\gio\gnetworkaddress.h +..\%__SRC%\inc\gtlsserverconnection.h %_DEST%\inc\external\glib-2.0\gio\gtlsserverconnection.h +..\%__SRC%\inc\gdbusutils.h %_DEST%\inc\external\glib-2.0\gio\gdbusutils.h +..\%__SRC%\inc\gnetworkservice.h %_DEST%\inc\external\glib-2.0\gio\gnetworkservice.h +..\%__SRC%\inc\gvfs.h %_DEST%\inc\external\glib-2.0\gio\gvfs.h +..\%__SRC%\inc\gdrive.h %_DEST%\inc\external\glib-2.0\gio\gdrive.h +..\%__SRC%\inc\goutputstream.h %_DEST%\inc\external\glib-2.0\gio\goutputstream.h +..\%__SRC%\inc\gvolume.h %_DEST%\inc\external\glib-2.0\gio\gvolume.h +..\%__SRC%\inc\gemblem.h %_DEST%\inc\external\glib-2.0\gio\gemblem.h +..\%__SRC%\inc\gpermission.h %_DEST%\inc\external\glib-2.0\gio\gpermission.h +..\%__SRC%\inc\gvolumemonitor.h %_DEST%\inc\external\glib-2.0\gio\gvolumemonitor.h +..\%__SRC%\inc\gemblemedicon.h %_DEST%\inc\external\glib-2.0\gio\gemblemedicon.h +..\%__SRC%\inc\gpollableinputstream.h %_DEST%\inc\external\glib-2.0\gio\gpollableinputstream.h +..\%__SRC%\inc\gzlibcompressor.h %_DEST%\inc\external\glib-2.0\gio\gzlibcompressor.h +..\%__SRC%\inc\gfile.h %_DEST%\inc\external\glib-2.0\gio\gfile.h +..\%__SRC%\inc\gpollableoutputstream.h %_DEST%\inc\external\glib-2.0\gio\gpollableoutputstream.h +..\%__SRC%\inc\gzlibdecompressor.h %_DEST%\inc\external\glib-2.0\gio\gzlibdecompressor.h +..\%__SRC%\inc\gfileattribute.h %_DEST%\inc\external\glib-2.0\gio\gfileattribute.h +..\%__SRC%\inc\gproxy.h %_DEST%\inc\external\glib-2.0\gio\gproxy.h +..\%__SRC%\inc\gfileenumerator.h %_DEST%\inc\external\glib-2.0\gio\gfileenumerator.h +..\%__SRC%\inc\gproxyaddress.h %_DEST%\inc\external\glib-2.0\gio\gproxyaddress.h + +mkdir: %_DEST%\inc\external\glib-2.0\glib + +..\%__SRC%\inc\galloca.h %_DEST%\inc\external\glib-2.0\glib\galloca.h +..\%__SRC%\inc\gconvert.h %_DEST%\inc\external\glib-2.0\glib\gconvert.h +..\%__SRC%\inc\gi18n.h %_DEST%\inc\external\glib-2.0\glib\gi18n.h +..\%__SRC%\inc\goption.h %_DEST%\inc\external\glib-2.0\glib\goption.h +..\%__SRC%\inc\gscanner.h %_DEST%\inc\external\glib-2.0\glib\gscanner.h +..\%__SRC%\inc\gthreadpool.h %_DEST%\inc\external\glib-2.0\glib\gthreadpool.h +..\%__SRC%\inc\garray.h %_DEST%\inc\external\glib-2.0\glib\garray.h +..\%__SRC%\inc\gdataset.h %_DEST%\inc\external\glib-2.0\glib\gdataset.h +..\%__SRC%\inc\giochannel.h %_DEST%\inc\external\glib-2.0\glib\giochannel.h +..\%__SRC%\inc\gpattern.h %_DEST%\inc\external\glib-2.0\glib\gpattern.h +..\%__SRC%\inc\gsequence.h %_DEST%\inc\external\glib-2.0\glib\gsequence.h +..\%__SRC%\inc\gtimer.h %_DEST%\inc\external\glib-2.0\glib\gtimer.h +..\%__SRC%\inc\gasyncqueue.h %_DEST%\inc\external\glib-2.0\glib\gasyncqueue.h +..\%__SRC%\inc\gdate.h %_DEST%\inc\external\glib-2.0\glib\gdate.h +..\%__SRC%\inc\gkeyfile.h %_DEST%\inc\external\glib-2.0\glib\gkeyfile.h +..\%__SRC%\inc\gpoll.h %_DEST%\inc\external\glib-2.0\glib\gpoll.h +..\%__SRC%\inc\gshell.h %_DEST%\inc\external\glib-2.0\glib\gshell.h +..\%__SRC%\inc\gtimezone.h %_DEST%\inc\external\glib-2.0\glib\gtimezone.h +..\%__SRC%\inc\gatomic.h %_DEST%\inc\external\glib-2.0\glib\gatomic.h +..\%__SRC%\inc\gdatetime.h %_DEST%\inc\external\glib-2.0\glib\gdatetime.h +..\%__SRC%\inc\glist.h %_DEST%\inc\external\glib-2.0\glib\glist.h +..\%__SRC%\inc\gprimes.h %_DEST%\inc\external\glib-2.0\glib\gprimes.h +..\%__SRC%\inc\gslice.h %_DEST%\inc\external\glib-2.0\glib\gslice.h +..\%__SRC%\inc\gtree.h %_DEST%\inc\external\glib-2.0\glib\gtree.h +..\%__SRC%\inc\gbacktrace.h %_DEST%\inc\external\glib-2.0\glib\gbacktrace.h +..\%__SRC%\inc\gdir.h %_DEST%\inc\external\glib-2.0\glib\gdir.h +..\%__SRC%\inc\gmacros.h %_DEST%\inc\external\glib-2.0\glib\gmacros.h +..\%__SRC%\inc\gprintf.h %_DEST%\inc\external\glib-2.0\glib\gprintf.h +..\%__SRC%\inc\gslist.h %_DEST%\inc\external\glib-2.0\glib\gslist.h +..\%__SRC%\inc\gtypes.h %_DEST%\inc\external\glib-2.0\glib\gtypes.h +..\%__SRC%\inc\gbase64.h %_DEST%\inc\external\glib-2.0\glib\gbase64.h +..\%__SRC%\inc\gerror.h %_DEST%\inc\external\glib-2.0\glib\gerror.h +..\%__SRC%\inc\gmain.h %_DEST%\inc\external\glib-2.0\glib\gmain.h +..\%__SRC%\inc\gqsort.h %_DEST%\inc\external\glib-2.0\glib\gqsort.h +..\%__SRC%\inc\gspawn.h %_DEST%\inc\external\glib-2.0\glib\gspawn.h +..\%__SRC%\inc\gunicode.h %_DEST%\inc\external\glib-2.0\glib\gunicode.h +..\%__SRC%\inc\gbitlock.h %_DEST%\inc\external\glib-2.0\glib\gbitlock.h +..\%__SRC%\inc\gfileutils.h %_DEST%\inc\external\glib-2.0\glib\gfileutils.h +..\%__SRC%\inc\gmappedfile.h %_DEST%\inc\external\glib-2.0\glib\gmappedfile.h +..\%__SRC%\inc\gquark.h %_DEST%\inc\external\glib-2.0\glib\gquark.h +..\%__SRC%\inc\gstdio.h %_DEST%\inc\external\glib-2.0\glib\gstdio.h +..\%__SRC%\inc\gurifuncs.h %_DEST%\inc\external\glib-2.0\glib\gurifuncs.h +..\%__SRC%\inc\gbookmarkfile.h %_DEST%\inc\external\glib-2.0\glib\gbookmarkfile.h +..\%__SRC%\inc\ghash.h %_DEST%\inc\external\glib-2.0\glib\ghash.h +..\%__SRC%\inc\gmarkup.h %_DEST%\inc\external\glib-2.0\glib\gmarkup.h +..\%__SRC%\inc\gqueue.h %_DEST%\inc\external\glib-2.0\glib\gqueue.h +..\%__SRC%\inc\gstrfuncs.h %_DEST%\inc\external\glib-2.0\glib\gstrfuncs.h +..\%__SRC%\inc\gutils.h %_DEST%\inc\external\glib-2.0\glib\gutils.h +..\%__SRC%\inc\gcache.h %_DEST%\inc\external\glib-2.0\glib\gcache.h +..\%__SRC%\inc\ghook.h %_DEST%\inc\external\glib-2.0\glib\ghook.h +..\%__SRC%\inc\gmem.h %_DEST%\inc\external\glib-2.0\glib\gmem.h +..\%__SRC%\inc\grand.h %_DEST%\inc\external\glib-2.0\glib\grand.h +..\%__SRC%\inc\gstring.h %_DEST%\inc\external\glib-2.0\glib\gstring.h +..\%__SRC%\inc\gvariant.h %_DEST%\inc\external\glib-2.0\glib\gvariant.h +..\%__SRC%\inc\gchecksum.h %_DEST%\inc\external\glib-2.0\glib\gchecksum.h +..\%__SRC%\inc\ghostutils.h %_DEST%\inc\external\glib-2.0\glib\ghostutils.h +..\%__SRC%\inc\gmessages.h %_DEST%\inc\external\glib-2.0\glib\gmessages.h +..\%__SRC%\inc\gregex.h %_DEST%\inc\external\glib-2.0\glib\gregex.h +..\%__SRC%\inc\gtestutils.h %_DEST%\inc\external\glib-2.0\glib\gtestutils.h +..\%__SRC%\inc\gvarianttype.h %_DEST%\inc\external\glib-2.0\glib\gvarianttype.h +..\%__SRC%\inc\gcompletion.h %_DEST%\inc\external\glib-2.0\glib\gcompletion.h +..\%__SRC%\inc\gi18n-lib.h %_DEST%\inc\external\glib-2.0\glib\gi18n-lib.h +..\%__SRC%\inc\gnode.h %_DEST%\inc\external\glib-2.0\glib\gnode.h +..\%__SRC%\inc\grel.h %_DEST%\inc\external\glib-2.0\glib\grel.h +..\%__SRC%\inc\gthread.h %_DEST%\inc\external\glib-2.0\glib\gthread.h +..\%__SRC%\inc\gwin32.h %_DEST%\inc\external\glib-2.0\glib\gwin32.h + +mkdir: %_DEST%\inc\external\glib-2.0\gobject +..\%__SRC%\inc\gbinding.h %_DEST%\inc\external\glib-2.0\gobject\gbinding.h +..\%__SRC%\inc\gmarshal.h %_DEST%\inc\external\glib-2.0\gobject\gmarshal.h +..\%__SRC%\inc\gparamspecs.h %_DEST%\inc\external\glib-2.0\gobject\gparamspecs.h +..\%__SRC%\inc\gtypemodule.h %_DEST%\inc\external\glib-2.0\gobject\gtypemodule.h +..\%__SRC%\inc\gvaluecollector.h %_DEST%\inc\external\glib-2.0\gobject\gvaluecollector.h +..\%__SRC%\inc\gboxed.h %_DEST%\inc\external\glib-2.0\gobject\gboxed.h +..\%__SRC%\inc\gobject.h %_DEST%\inc\external\glib-2.0\gobject\gobject.h +..\%__SRC%\inc\gsignal.h %_DEST%\inc\external\glib-2.0\gobject\gsignal.h +..\%__SRC%\inc\gtypeplugin.h %_DEST%\inc\external\glib-2.0\gobject\gtypeplugin.h +..\%__SRC%\inc\gvaluetypes.h %_DEST%\inc\external\glib-2.0\gobject\gvaluetypes.h +..\%__SRC%\inc\gclosure.h %_DEST%\inc\external\glib-2.0\gobject\gclosure.h +..\%__SRC%\inc\gobjectnotifyqueue.c %_DEST%\inc\external\glib-2.0\gobject\gobjectnotifyqueue.c +..\%__SRC%\inc\gsourceclosure.h %_DEST%\inc\external\glib-2.0\gobject\gsourceclosure.h +..\%__SRC%\inc\gvalue.h %_DEST%\inc\external\glib-2.0\gobject\gvalue.h +..\%__SRC%\inc\genums.h %_DEST%\inc\external\glib-2.0\gobject\genums.h +..\%__SRC%\inc\gparam.h %_DEST%\inc\external\glib-2.0\gobject\gparam.h +..\%__SRC%\inc\gtype.h %_DEST%\inc\external\glib-2.0\gobject\gtype.h +..\%__SRC%\inc\gvaluearray.h %_DEST%\inc\external\glib-2.0\gobject\gvaluearray.h + diff --git a/graphite/graphite-2.3.1_debug.patch b/graphite/graphite-2.3.1_debug.patch new file mode 100644 index 000000000000..583fac711e2b --- /dev/null +++ b/graphite/graphite-2.3.1_debug.patch @@ -0,0 +1,13 @@ +--- misc/silgraphite-2.3.1/engine/src/segment/SegmentAux.cpp 2008-08-21 16:24:32.000000000 +0200 ++++ misc/build/silgraphite-2.3.1/engine/src/segment/SegmentAux.cpp 2011-02-21 13:22:23.159834368 +0100 +@@ -247,7 +247,9 @@ + GlyphSetIterator::reference GlyphSetIterator::operator*() const + { + assert(m_pseg != 0); +- assert(m_vit != std::vector<int>::const_iterator()); ++ // #i116227# the check below is well meant but breaks itself when using stlport with debug facilities ++ // a valid iterator cannot be compared to an empty one in that case ++ // assert(m_vit != std::vector<int>::const_iterator()); + // in the case of a non-contiguous list + return m_pseg->m_prgginf[(*m_vit) - m_pseg->m_isloutGinf0]; + } diff --git a/graphite/graphite2-0.9.2.patch b/graphite/graphite2-0.9.2.patch new file mode 100644 index 000000000000..c6d796867e13 --- /dev/null +++ b/graphite/graphite2-0.9.2.patch @@ -0,0 +1,463 @@ +diff -r 5369cdd12120 CMakeLists.txt +--- misc/build/graphite2-0.9.2/CMakeLists.txt Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/CMakeLists.txt Fri Feb 18 16:05:40 2011 +0700 +@@ -61,7 +61,7 @@ + add_subdirectory(gr2fonttest) + add_subdirectory(tests) + add_subdirectory(doc) +-set(version 0.0.0) ++set(version 2.0.0) + set(libdir ${CMAKE_INSTALL_PREFIX}/lib) + set(includedir ${CMAKE_INSTALL_PREFIX}/include) + +diff -r 5369cdd12120 gr2fonttest/gr2FontTest.cpp +--- misc/build/graphite2-0.9.2/gr2fonttest/gr2FontTest.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/gr2fonttest/gr2FontTest.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -758,13 +758,11 @@ + float advanceWidth = gr_seg_advance_X(pSeg); + fprintf(log, "Advance width = %6.1f\n", advanceWidth); + unsigned int numchar = gr_seg_n_cinfo(pSeg); +- gr_uint32 *firsts = (gr_uint32 *)malloc(numchar * sizeof(gr_uint32)); +- gr_uint32 *lasts = (gr_uint32 *)malloc(numchar * sizeof(gr_uint32)); +- gr_seg_char_slots(pSeg, firsts, lasts, 0, 0); + fprintf(log, "\nChar\tUnicode\tBefore\tAfter\n"); + for (unsigned int j = 0; j < numchar; j++) + { +- fprintf(log, "%d\t%04X\t%d\t%d\n", j, gr_cinfo_unicode_char(gr_seg_cinfo(pSeg, j)), firsts[j], lasts[j]); ++ const gr_char_info *c = gr_seg_cinfo(pSeg, j); ++ fprintf(log, "%d\t%04X\t%d\t%d\n", j, gr_cinfo_unicode_char(c), gr_cinfo_before(c), gr_cinfo_after(c)); + } + free(map); + gr_seg_destroy(pSeg); +diff -r 5369cdd12120 include/graphite2/Segment.h +--- misc/build/graphite2-0.9.2/include/graphite2/Segment.h Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/include/graphite2/Segment.h Fri Feb 18 16:05:40 2011 +0700 +@@ -135,6 +135,20 @@ + */ + GR2_API int gr_cinfo_break_weight(const gr_char_info* p/*not NULL*/); + ++/** Returns the slot index that after this character is after in the slot stream ++ * ++ * @return after slot index between 0 and gr_seg_n_slots() ++ * @param p Pointer to charinfo to return information on. ++ */ ++GR2_API int gr_cinfo_after(const gr_char_info* p/*not NULL*/); ++ ++/** Returns the slot index that before this character is before in the slot stream ++ * ++ * @return before slot index between 0 and gr_seg_n_slots() ++ * @param p Pointer to charinfo to return information on. ++ */ ++GR2_API int gr_cinfo_before(const gr_char_info* p/*not NULL*/); ++ + /** Returns the number of unicode characters in a string. + * + * @return number of characters in the string +@@ -205,22 +219,6 @@ + */ + GR2_API const gr_slot* gr_seg_last_slot(gr_segment* pSeg/*not NULL*/); //may give a base slot or a slot which is attached to another + +-/** Calculates the underlying character to glyph associations. +- * +- * @param pSeg Pointer to the segment we want information on. +- * @param begins An array of gr_seg_n_cinfo integers giving slot index for each +- * charinfo. The value corresponds to which slot a cursor would be before +- * if an underlying cursor were before the charinfo at this index. +- * @param ends An array of gr_seg_n_cinfo integers giving the slot index for each +- * charinfo. The value at an index corresponds to which slot a cursor would +- * be after if an underlying cursor were after the charinfo at the index. +- * @param sbegins An array of gr_seg_n_cinfo gr_slot * corresponding to the gr_slot at +- * index given by begins. The pointer to the array may be NULL. +- * @param sends An array of gr_seg_n_cinfo gr_slot * corresponding to the gr_slot at the +- * index given by ends. The pointer to the array may be NULL. +- */ +-GR2_API void gr_seg_char_slots(const gr_segment *pSeg, gr_uint32 *begins, gr_uint32 *ends, gr_slot **sbegins, gr_slot **sends); +- + /** Returns the next slot along in the segment. + * + * Slots are held in a linked list. This returns the next in the linked list. The slot +@@ -306,6 +304,13 @@ + */ + GR2_API int gr_slot_after(const gr_slot* p/*not NULL*/); + ++/** Returns the index of this slot in the segment ++ * ++ * Returns the index given to this slot during final positioning. This corresponds to the value returned br gr_cinfo_before() ++ * and gr_cinfo_after() ++ */ ++GR2_API unsigned int gr_slot_index(const gr_slot* p/*not NULL*/); ++ + /** Return a slot attribute value + * + * Given a slot and an attribute along with a possible subattribute, return the +diff -r 5369cdd12120 src/CMakeLists.txt +--- misc/build/graphite2-0.9.2/src/CMakeLists.txt Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/CMakeLists.txt Fri Feb 18 16:05:40 2011 +0700 +@@ -25,7 +25,7 @@ + INCLUDE(CheckTypeSize) + INCLUDE(CheckCXXSourceCompiles) + +-set(GRAPHITE_API_MAJOR 1) ++set(GRAPHITE_API_MAJOR 2) + set(GRAPHITE_API_MINOR 0) + set(GRAPHITE_API_AGE 0) + set(GRAPHITE_SO_VERSION ${GRAPHITE_API_MAJOR}.${GRAPHITE_API_MINOR}.${GRAPHITE_API_AGE}) +diff -r 5369cdd12120 src/CharInfo.h +--- misc/build/graphite2-0.9.2/src/CharInfo.h Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/CharInfo.h Fri Feb 18 16:05:40 2011 +0700 +@@ -29,16 +29,23 @@ + { + + public: ++ CharInfo() : m_before(-1), m_after(0) {} + void init(int cid) { m_char = cid; } + unsigned int unicodeChar() const { return m_char; } + void feats(int offset) { m_featureid = offset; } + int fid() const { return m_featureid; } + int breakWeight() const { return m_break; } + void breakWeight(int val) { m_break = val; } ++ int after() const { return m_after; } ++ void after(int val) { m_after = val; } ++ int before() const { return m_before; } ++ void before(int val) { m_before = val; } + + CLASS_NEW_DELETE + private: + int m_char; // Unicode character from character stream ++ int m_before; // slot index before us, comes before ++ int m_after; // slot index after us, comes after + uint8 m_featureid; // index into features list in the segment + int8 m_break; // breakweight coming from lb table + }; +diff -r 5369cdd12120 src/Segment.cpp +--- misc/build/graphite2-0.9.2/src/Segment.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Segment.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -283,6 +283,7 @@ + { + Position currpos; + Slot *s, *ls = NULL; ++ int iSlot = 0; + float cMin = 0.; + float clusterMin = 0.; + Rect bbox; +@@ -292,8 +293,16 @@ + + if (m_dir & 1) + { +- for (s = iEnd; s && s != iStart->prev(); s = s->prev()) ++ for (s = iEnd, iSlot = m_numGlyphs - 1; s && s != iStart->prev(); s = s->prev(), --iSlot) + { ++ for (int j = s->before(); j <= s->after(); j++) ++ { ++ CharInfo *c = charinfo(j); ++ if (c->before() == -1 || iSlot < c->before()) c->before(iSlot); ++ if (c->after() < iSlot) c->after(iSlot); ++ } ++ s->index(iSlot); ++ + if (s->isBase()) + { + clusterMin = currpos.x; +@@ -306,8 +315,16 @@ + } + else + { +- for (s = iStart; s && s != iEnd->next(); s = s->next()) ++ for (s = iStart, iSlot = 0; s && s != iEnd->next(); s = s->next(), ++iSlot) + { ++ for (int j = s->before(); j <= s->after(); j++) ++ { ++ CharInfo *c = charinfo(j); ++ if (c->before() == -1 || iSlot < c->before()) c->before(iSlot); ++ if (c->after() < iSlot) c->after(iSlot); ++ } ++ s->index(iSlot); ++ + if (s->isBase()) + { + clusterMin = currpos.x; +@@ -321,35 +338,6 @@ + if (iStart == m_first && iEnd == m_last) m_advance = currpos; + } + +- +-void Segment::getCharSlots(uint32 *begins, uint32 *ends, Slot **sbegins, Slot **sends) const +-{ +- Slot *s; +- uint32 i; +- if (!begins || !ends) return; +- memset(begins, 0xFF, m_numCharinfo * sizeof(uint32)); +- memset(ends, 0, m_numCharinfo * sizeof(uint32)); +- +- for (s = m_first, i = 0; s; s = s->next(), i++) +- { +- for (int j = s->before(); j <= s->after(); j++) +- { +- assert(j >= 0); +- assert(j < static_cast<int>(m_numCharinfo)); +- if (i < begins[j]) +- { +- begins[j] = i; +- if (sbegins) sbegins[j] = s; +- } +- if (i > ends[j]) +- { +- ends[j] = i; +- if (sends) sends[j] = s; +- } +- } +- } +-} +- + #ifndef DISABLE_TRACING + void Segment::logSegment(gr_encform enc, const void* pStart, size_t nChars) const + { +diff -r 5369cdd12120 src/Segment.h +--- misc/build/graphite2-0.9.2/src/Segment.h Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Segment.h Fri Feb 18 16:05:40 2011 +0700 +@@ -118,7 +118,6 @@ + int defaultOriginal() const { return m_defaultOriginal; } + const Face * getFace() const { return m_face; } + const Features & getFeatures(unsigned int /*charIndex*/) { assert(m_feats.size() == 1); return m_feats[0]; } +- void getCharSlots(uint32 *begins, uint32 *ends, Slot **sbegins, Slot **sends) const; + + CLASS_NEW_DELETE + +diff -r 5369cdd12120 src/Slot.cpp +--- misc/build/graphite2-0.9.2/src/Slot.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Slot.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -188,15 +188,15 @@ + } + } + +-int Slot::getAttr(const Segment *seg, attrCode index, uint8 subindex) const ++int Slot::getAttr(const Segment *seg, attrCode ind, uint8 subindex) const + { + if (!this) return 0; +- if (index == gr_slatUserDefnV1) ++ if (ind == gr_slatUserDefnV1) + { +- index = gr_slatUserDefn; ++ ind = gr_slatUserDefn; + subindex = 0; + } +- switch (index) ++ switch (ind) + { + case gr_slatAdvX : + return static_cast<int>(m_advance.x); +@@ -259,15 +259,15 @@ + } + } + +-void Slot::setAttr(Segment *seg, attrCode index, uint8 subindex, int16 value, const SlotMap & map) ++void Slot::setAttr(Segment *seg, attrCode ind, uint8 subindex, int16 value, const SlotMap & map) + { + if (!this) return; +- if (index == gr_slatUserDefnV1) ++ if (ind == gr_slatUserDefnV1) + { +- index = gr_slatUserDefn; ++ ind = gr_slatUserDefn; + subindex = 0; + } +- switch (index) ++ switch (ind) + { + case gr_slatAdvX : + m_advance = Position(value, m_advance.y); +diff -r 5369cdd12120 src/Slot.h +--- misc/build/graphite2-0.9.2/src/Slot.h Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Slot.h Fri Feb 18 16:05:40 2011 +0700 +@@ -47,6 +47,8 @@ + Position advancePos() const { return m_advance; } + int before() const { return m_before; } + int after() const { return m_after; } ++ uint32 index() const { return m_index; } ++ void index(uint32 val) { m_index = val; } + + Slot(); + void set(const Slot & slot, int charOffset, uint8 numUserAttr); +@@ -58,10 +60,10 @@ + void setGlyph(Segment *seg, uint16 glyphid, const GlyphFace * theGlyph = NULL); + void setRealGid(uint16 realGid) { m_realglyphid = realGid; } + void origin(const Position &pos) { m_position = pos + m_shift; } +- void originate(int index) { m_original = index; } ++ void originate(int ind) { m_original = ind; } + int original() const { return m_original; } +- void before(int index) { m_before = index; } +- void after(int index) { m_after = index; } ++ void before(int ind) { m_before = ind; } ++ void after(int ind) { m_after = ind; } + bool isBase() const { return (!m_parent); } + void update(int numSlots, int numCharInfo, Position &relpos); + Position finalise(const Segment* seg, const Font* font, Position* base, Rect* bbox, float* cMin, uint8 attrLevel, float *clusterMin); +@@ -75,8 +77,8 @@ + uint16 *userAttrs() { return m_userAttr; } + void userAttrs(uint16 *p) { m_userAttr = p; } + void markInsertBefore(bool state) { if (!state) m_flags |= SLOT_INSERT; else m_flags &= ~SLOT_INSERT; } +- void setAttr(Segment* seg, attrCode index, uint8 subindex, int16 val, const SlotMap & map); +- int getAttr(const Segment *seg, attrCode index, uint8 subindex) const; ++ void setAttr(Segment* seg, attrCode ind, uint8 subindex, int16 val, const SlotMap & map); ++ int getAttr(const Segment *seg, attrCode ind, uint8 subindex) const; + void attachTo(Slot *ap) { m_parent = ap; } + Slot *attachedTo() const { return m_parent; } + Slot* firstChild() const { return m_child; } +@@ -96,8 +98,9 @@ + unsigned short m_glyphid; // glyph id + uint16 m_realglyphid; + uint32 m_original; // charinfo that originated this slot (e.g. for feature values) +- uint32 m_before; // charinfo index of before association +- uint32 m_after; // charinfo index of after association ++ uint32 m_before; // charinfo index of before association ++ uint32 m_after; // charinfo index of after association ++ uint32 m_index; // slot index given to this slot during finalising + Slot *m_parent; // index to parent we are attached to + Slot *m_child; // index to first child slot that attaches to us + Slot *m_sibling; // index to next child that attaches to our parent +diff -r 5369cdd12120 src/gr_char_info.cpp +--- misc/build/graphite2-0.9.2/src/gr_char_info.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/gr_char_info.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -39,4 +39,16 @@ + return p->breakWeight(); + } + +-} // extern "C" +\ No newline at end of file ++int gr_cinfo_after(const gr_char_info *p/*not NULL*/) ++{ ++ assert(p); ++ return p->after(); ++} ++ ++int gr_cinfo_before(const gr_char_info *p/*not NULL*/) ++{ ++ assert(p); ++ return p->before(); ++} ++ ++} // extern "C" +diff -r 5369cdd12120 src/gr_segment.cpp +--- misc/build/graphite2-0.9.2/src/gr_segment.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/gr_segment.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -162,11 +162,5 @@ + return static_cast<const gr_slot*>(pSeg->last()); + } + +-void gr_seg_char_slots(const gr_segment *pSeg, gr_uint32 *begins, gr_uint32 *ends, gr_slot **sbegins, gr_slot **sends) +-{ +- assert(pSeg && begins && ends); +- pSeg->getCharSlots(begins, ends, reinterpret_cast<Slot**>(sbegins), reinterpret_cast<Slot**>(sends)); +-} +- + + } // extern "C" +diff -r 5369cdd12120 src/gr_slot.cpp +--- misc/build/graphite2-0.9.2/src/gr_slot.cpp Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/gr_slot.cpp Fri Feb 18 16:05:40 2011 +0700 +@@ -121,6 +121,12 @@ + return p->after(); + } + ++unsigned int gr_slot_index(const gr_slot *p/*not NULL*/) ++{ ++ assert(p); ++ return p->index(); ++} ++ + int gr_slot_attr(const gr_slot* p/*not NULL*/, const gr_segment* pSeg/*not NULL*/, gr_attrCode index, gr_uint8 subindex) + { + assert(p); +diff current src/List.h +--- misc/build/graphite2-0.9.2/src/List.h Sat Feb 12 22:54:16 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/List.h Fri Feb 18 16:05:40 2011 +0700 +@@ -51,5 +51,5 @@ + template <typename I> + Vector(I first, const I last) : m_first(0), m_last(0), m_end(0) { insert(begin(), first, last); } +- ~Vector() { free(m_first); } ++ ~Vector() { clear(); free(m_first); } + + iterator begin() { return m_first; } +--- misc/graphite2-0.9.2/src/Code.cpp 2011-02-12 16:54:16.000000000 +0100 ++++ misc/build/graphite2-0.9.2/src/Code.cpp 2011-03-11 11:28:11.700215286 +0100 +@@ -168,7 +168,7 @@ + face.getGlyphFaceCache()->numAttrs(), + face.numFeatures(), + {1,1,1,1,1,1,1,1, +- 1,1,1,1,1,1,1,-1, ++ 1,1,1,1,1,1,1,(uint8)-1, + 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,0,0, + 0,0,0,0,0,0,0,0, +--- misc/graphite2-0.9.2/include/graphite2/Types.h 2011-02-12 16:54:16.000000000 +0100 ++++ misc/build/graphite2-0.9.2/include/graphite2/Types.h 2011-03-15 21:38:06.264788098 +0100 +@@ -36,19 +36,7 @@ + + // Definitions for library publicly exported symbols + #if defined _WIN32 || defined __CYGWIN__ +- #ifdef GR2_EXPORTING +- #ifdef __GNUC__ +- #define GR2_API __attribute__((dllexport)) +- #else +- #define GR2_API __declspec(dllexport) +- #endif +- #else +- #ifdef __GNUC__ +- #define GR2_API __attribute__((dllimport)) +- #else +- #define GR2_API __declspec(dllimport) +- #endif +- #endif ++ #define GR2_API + #define GR2_LOCAL + #else + #if __GNUC__ >= 4 +diff -r b3a86877ec68 src/Pass.cpp +--- misc/build/graphite2-0.9.2/src/Pass.cpp Wed May 11 09:34:52 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Pass.cpp Mon May 16 13:54:00 2011 +0700 +@@ -513,6 +513,7 @@ + bool Pass::testConstraint(const Rule &r, Machine & m) const + { + if (r.sort - r.preContext > (int)m.slotMap().size() - m.slotMap().context()) return false; ++ if (m.slotMap().context() - r.preContext < 0) return false; + if (!*r.constraint) return true; + assert(r.constraint->constraint()); + +@@ -527,6 +528,7 @@ + Machine::status_t status = Machine::finished; + for (int n = r.sort; n && map; --n, ++map) + { ++ if (!*map) continue; + const int32 ret = r.constraint->run(m, map, status); + if (!ret || status != Machine::finished) + { +diff -r b3a86877ec68 src/Rule.h +--- misc/build/graphite2-0.9.2/src/Rule.h Wed May 11 09:34:52 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/Rule.h Mon May 16 13:54:00 2011 +0700 +@@ -187,8 +187,9 @@ + // Merge the new sorted rules list into the current sorted result set. + const RuleEntry * lre = begin(), * rre = state.rules; + RuleEntry * out = m_rules + (m_begin == m_rules)*MAX_RULES; ++ const RuleEntry * lrend = out + MAX_RULES; + m_begin = out; +- while (lre != end()) ++ while (lre != end() && out != lrend) + { + if (*lre < *rre) *out++ = *lre++; + else if (*rre < *lre) { *out++ = *rre++; } +@@ -196,12 +197,12 @@ + + if (rre == state.rules_end) + { +- while (lre != end()) { *out++ = *lre++; } ++ while (lre != end() && out != lrend) { *out++ = *lre++; } + m_end = out; + return; + } + } +- while (rre != state.rules_end) { *out++ = *rre++; } ++ while (rre != state.rules_end && out != lrend) { *out++ = *rre++; } + m_end = out; + } + + diff --git a/graphite/graphite_make.patch b/graphite/graphite_make.patch new file mode 100644 index 000000000000..f28ed6da8ff7 --- /dev/null +++ b/graphite/graphite_make.patch @@ -0,0 +1,59 @@ +--- misc/build/graphite2-0.9.2/src/makefile.mk Fri Mar 4 10:20:30 2011 +0700 ++++ misc/build/graphite2-0.9.2/src/makefile.mk Fri Mar 4 10:20:30 2011 +0700 +@@ -1,1 +1,54 @@ +-dummy ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++ ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=libgraphite2_off ++TARGET=graphite2_off ++ENABLE_EXCEPTIONS=FALSE ++LIBTARGET=NO ++ ++.INCLUDE : settings.mk ++ ++CFLAGS+=-DDISABLE_TRACING -I../include -DGR2_STATIC ++.IF "$(debug)" == "" ++CFLAGS+=-O3 -DNDEBUG ++.ENDIF ++ ++VMACHINE=call ++.IF "$(COM)"=="GCC" ++VMACHINE=direct ++CFLAGSCXX+=-fpermissive ++.ENDIF ++ ++SLOFILES= \ ++ $(SLO)/$(VMACHINE)_machine.obj \ ++ $(SLO)/gr_char_info.obj \ ++ $(SLO)/gr_features.obj \ ++ $(SLO)/gr_face.obj \ ++ $(SLO)/gr_font.obj \ ++ $(SLO)/gr_segment.obj \ ++ $(SLO)/gr_slot.obj \ ++ $(SLO)/CachedFace.obj \ ++ $(SLO)/CmapCache.obj \ ++ $(SLO)/Code.obj \ ++ $(SLO)/Face.obj \ ++ $(SLO)/FeatureMap.obj \ ++ $(SLO)/Font.obj \ ++ $(SLO)/GlyphFace.obj \ ++ $(SLO)/GlyphFaceCache.obj \ ++ $(SLO)/NameTable.obj \ ++ $(SLO)/Pass.obj \ ++ $(SLO)/SegCache.obj \ ++ $(SLO)/SegCacheEntry.obj \ ++ $(SLO)/SegCacheStore.obj \ ++ $(SLO)/Segment.obj \ ++ $(SLO)/Silf.obj \ ++ $(SLO)/Slot.obj \ ++ $(SLO)/TtfUtil.obj ++ ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1OBJFILES=$(SLOFILES) ++OUT2INC=../include/graphite2 ++ ++.INCLUDE : target.mk + diff --git a/graphite/makefile.mk b/graphite/makefile.mk new file mode 100644 index 000000000000..e580b405b63a --- /dev/null +++ b/graphite/makefile.mk @@ -0,0 +1,73 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +# TODO: enable warnings again when external module compiles without warnings on all platforms +EXTERNAL_WARNINGS_NOT_ERRORS := TRUE + +PRJ=. + +PRJNAME=graphite +TARGET=libgraphite + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_GRAPHITE)" == "YES" +all: + @echo "An already available installation of graphite2 should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- +.IF "$(ENABLE_GRAPHITE)"=="TRUE" +TARFILE_NAME=graphite2-0.9.2 +TARFILE_MD5=0625a7d661f899a8ce263fc8a9879108 +PATCH_FILES= graphite2-0.9.2.patch \ + graphite_make.patch + +ADDITIONAL_FILES= \ + src/makefile.mk + +# convert line-endings to avoid problems when patching +CONVERTFILES= + +BUILD_DIR=src +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +OUT2INC_SUBDIR=graphite2 +OUT2INC=include/graphite2/Font.h \ + include/graphite2/Segment.h \ + include/graphite2/Types.h +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/graphite/prj/build.lst b/graphite/prj/build.lst new file mode 100644 index 000000000000..2f5f881f3848 --- /dev/null +++ b/graphite/prj/build.lst @@ -0,0 +1,3 @@ +gr graphite : solenv soltools NULL +gr graphite usr1 - all gr_mkout NULL +gr graphite nmake - all gr_graphite NULL diff --git a/graphite/prj/d.lst b/graphite/prj/d.lst new file mode 100644 index 000000000000..4add1c1483c6 --- /dev/null +++ b/graphite/prj/d.lst @@ -0,0 +1,12 @@ +mkdir: %_DEST%\inc\graphite2 +..\%__SRC%\inc\graphite2\*.h %_DEST%\inc\graphite2\*.h + +..\%__SRC%\lib\*.so.* %_DEST%\lib\*.so.* +..\%__SRC%\lib\*.dylib %_DEST%\lib\*.dylib +..\%__SRC%\lib\*.a %_DEST%\lib\*.a +..\%__SRC%\slb\*.lib %_DEST%\lib\*.lib +..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll +..\%__SRC%\bin\*.pdb %_DEST%\bin\*.pdb + +linklib: libgraphite2.so.*.*.* +linklib: libgraphite2.dylib.*.*.* diff --git a/hunspell/hunspell-android.patch b/hunspell/hunspell-android.patch new file mode 100644 index 000000000000..7daef8c3ed79 --- /dev/null +++ b/hunspell/hunspell-android.patch @@ -0,0 +1,33 @@ +--- misc/hunspell-1.3.2/config.sub ++++ misc/build/hunspell-1.3.2/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ +--- misc/hunspell-1.3.2/src/tools/munch.c ++++ misc/build/hunspell-1.3.2/src/tools/munch.c +@@ -8,7 +8,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> +-#ifdef __linux__ ++#if defined(__linux__) && !defined(__ANDROID__) + #include <error.h> + #include <errno.h> + #include <sys/mman.h> +--- misc/hunspell-1.3.2/src/tools/unmunch.c ++++ misc/build/hunspell-1.3.2/src/tools/unmunch.c +@@ -8,7 +8,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> +-#ifdef __linux__ ++#if defined(__linux__) && !defined(__ANDROID__) + #include <error.h> + #include <errno.h> + #include <sys/mman.h> diff --git a/hunspell/hunspell-solaris.patch b/hunspell/hunspell-solaris.patch new file mode 100644 index 000000000000..b07bbb254c3f --- /dev/null +++ b/hunspell/hunspell-solaris.patch @@ -0,0 +1,12 @@ +--- misc/hunspell-1.3.2.orig/src/tools/hunspell.cxx 2010-02-27 23:42:05.000000000 +0000 ++++ misc/build/hunspell-1.3.2/src/tools/hunspell.cxx 2010-02-27 23:43:02.000000000 +0000 +@@ -10,6 +10,9 @@ + #include "hunspell.hxx" + #include "csutil.hxx" + ++// switch off iconv support for tests (fixing Solaris problems) ++#undef HAVE_ICONV ++ + #ifndef HUNSPELL_EXTRA + #define suggest_auto suggest + #endif diff --git a/hunspell/hunspell-static.patch b/hunspell/hunspell-static.patch new file mode 100644 index 000000000000..daab90ce9a75 --- /dev/null +++ b/hunspell/hunspell-static.patch @@ -0,0 +1,11 @@ +--- misc/hunspell-1.3.2/src/hunspell/makefile.mk 2010-06-17 15:56:41.000000000 +0200 ++++ misc/build/hunspell-1.3.2/src/hunspell/makefile.mk 2011-02-10 20:47:22.000000000 +0100 +@@ -39,7 +39,7 @@ + + # --- Files -------------------------------------------------------- + +-CFLAGS+=-I..$/..$/ ++CFLAGS+=-I..$/..$/ -DHUNSPELL_STATIC + CDEFS+=-DOPENOFFICEORG + + SLOFILES= \ diff --git a/hunspell/hunspell-wntconfig.patch b/hunspell/hunspell-wntconfig.patch new file mode 100644 index 000000000000..cc353b1a2118 --- /dev/null +++ b/hunspell/hunspell-wntconfig.patch @@ -0,0 +1,4 @@ +--- misc/hunspell-1.3.2/config.h 2010-02-25 14:38:38.000000000 +0000 ++++ misc/build/hunspell-1.3.2/config.h 2010-02-25 14:38:42.000000000 +0000 +@@ -1 +0,0 @@ +-dummy diff --git a/hunspell/makefile.mk b/hunspell/makefile.mk new file mode 100644 index 000000000000..bf6f0b9f9acd --- /dev/null +++ b/hunspell/makefile.mk @@ -0,0 +1,107 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=hunspell +TARGET=hunspell + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=hunspell-1.3.2 +TARFILE_MD5=3121aaf3e13e5d88dfff13fb4a5f1ab8 +ADDITIONAL_FILES+=config.h + +PATCH_FILES=\ + hunspell-static.patch \ + hunspell-wntconfig.patch \ + hunspell-solaris.patch \ + hunspell-android.patch + +.IF "$(GUI)"=="UNX" + +#relative to CONFIGURE_DIR +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) configure +CONFIGURE_FLAGS= --disable-shared --disable-nls --with-pic +.IF "$(COMNAME)"=="sunpro5" +CONFIGURE_FLAGS+= CFLAGS=-xc99=none +.ENDIF # "$(COMNAME)"=="sunpro5" + +.IF "$(OS)"=="AIX" +CONFIGURE_FLAGS+= CFLAGS=-D_LINUX_SOURCE_COMPAT +.ENDIF + +.IF "$(SYSBASE)"!="" +.IF "$(EXTRA_CFLAGS)"!="" +CONFIGURE_FLAGS+= CFLAGS="$(EXTRA_CFLAGS)" CXXFLAGS="$(EXTRA_CFLAGS)" +.ENDIF # "$(EXTRA_CFLAGS)"!="" +.ELIF "$(OS)"=="MACOSX" # "$(SYSBASE)"!="" +CONFIGURE_FLAGS+=CPPFLAGS="$(EXTRA_CDEFS)" +.ENDIF + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS) + +OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.3.a + +.ENDIF # "$(GUI)"=="UNX" + + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +CONFIGURE_ACTION=configure + +CONFIGURE_FLAGS= --disable-shared --disable-nls --with-pic LDFLAGS=-Wl,--enable-runtime-pseudo-reloc-v2 + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=make +OUT2LIB=$(BUILD_DIR)$/src$/hunspell$/.libs$/libhunspell-1.3.a +.ELSE +BUILD_ACTION=cd src/hunspell && dmake +.ENDIF +.ENDIF # "$(GUI)"=="WNT" + +OUT2INC= \ + $(BUILD_DIR)$/src$/hunspell$/*.hxx \ + $(BUILD_DIR)$/src$/hunspell$/*.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/hunspell/prj/build.lst b/hunspell/prj/build.lst new file mode 100644 index 000000000000..ea87500d1d6d --- /dev/null +++ b/hunspell/prj/build.lst @@ -0,0 +1,3 @@ +hun hunspell : solenv ICU:icu NULL +hun hunspell usr1 - all hun_mkout NULL +hun hunspell nmake - all hun_hunspell NULL diff --git a/hunspell/prj/d.lst b/hunspell/prj/d.lst new file mode 100644 index 000000000000..da3b58c94567 --- /dev/null +++ b/hunspell/prj/d.lst @@ -0,0 +1,6 @@ +..\%__SRC%\lib\lib*.* %_DEST%\lib\lib*.* +..\%__SRC%\slb\libhunspell.lib %_DEST%\lib\libhunspell.lib + +mkdir: %_DEST%\inc\hunspell +..\%__SRC%\inc\*.hxx %_DEST%\inc\hunspell\*.hxx +..\%__SRC%\inc\*.h %_DEST%\inc\hunspell\*.h diff --git a/icu/Readme b/icu/Readme new file mode 100644 index 000000000000..23c2bfdc5e7b --- /dev/null +++ b/icu/Readme @@ -0,0 +1,4 @@ +This file describes the procedure of creating and maintaining makefiles.zip +# Obo's part + + The automatically generated makefiles are not necessarily optimal. The build is started from allinone/all directory, and the all.mak file is used to build the entire module through. Each subtarget in this file is going to be made recursively unless there is a switch RECURSE=0. If the switch is available, for each subtarget all its prerequisites should be made earlier than the subtarget itself. Therefore, you should order the ALL target's prerequisites so that they are going to be built in a consistent order. Unfortunately there's no automatic process for it, just prove the prerequisites for each subtarget and push them forward in target's ALL prerequisites list. The changes between generated & optimized all.mak can be seen when comparing the files from v1.5 & v1.6 of makefiles.zip. diff --git a/icu/createmak.cfg b/icu/createmak.cfg new file mode 100644 index 000000000000..1b47c0f76570 --- /dev/null +++ b/icu/createmak.cfg @@ -0,0 +1,452 @@ +[Copy] +SOURCE=<HEADER> +InputPath=<INPUTPATH> +"<TARGET>" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + <TARGETPATH> + +[Deps] +SOURCE=.\<SOURCEFILE>.<EXT> +"$(INTDIR)\<SOURCEFILE>.obj": $(SOURCE) "$(INTDIR)" <HEADER_LIST> + +[Cpp] +CPP=cl.exe +[Link] +LINK32=link.exe +[CDefs_Common] + +[RSC_Template] +RSC=rc.exe +RSC_PROJ=/l 0x409 /fo"$(INTDIR)\<FILEOUT>.res" /i "..\common" /d "NDEBUG" +SOURCE=<FILE> +"$(INTDIR)\<FILEOUT>.res" : $(SOURCE) "$(INTDIR)" + $(RSC) $(RSC_PROJ) $(SOURCE) + +[General_CFlags] +CPP_PROJ_INCLUDES=<AddIncDirs> +CDEFS=<PreProcDefs> +COPT=-nologo -O2 -Ob2 +CPDBOBJ=-FD -Fo"$(INTDIR)\\" -Fd"$(INTDIR)\\" +CTOOLSFLAGS=-nologo -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c +CDEF1FLAGS= -D "_WINDOWS" -D "_MBCS" + +[CFlags_common] +CPP_PROJ=-nologo -MD -Za -Zi -W3 -GF -O2 -Ob2 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_i18n] +CPP_PROJ=-MD -W3 -Oi -GF -FD -GS -Gy -Za -Zi $(EXCEPTIONSWITCH) $(COPT) $(CPP_PROJ_INCLUDES) $(CDEFS) -Fp".\Release/i18n.pch" $(CPDBOBJ) -c + +[CFlags_extra_uconv] +CPP_PROJ=-MD -W3 -GF -Gy $(EXCEPTIONSWITCH) $(COPT) $(CPP_PROJ_INCLUDES) $(CDEFS) -Fp".\Release/uconv.pch" $(CPDBOBJ) -c + +[CFlags_layout] +CPP_PROJ=-Za -GF -Gy -W3 $(EXCEPTIONSWITCH) -O2 $(CPP_PROJ_INCLUDES) $(CDEFS) -D "LAYOUT_EXPORTS" -D "_WINDOWS" -D "_MBCS" -D "_USRDLL" $(CPDBOBJ) -c + +[CFlags_io] +CPP_PROJ=-Za -GF -Gy -W3 $(EXCEPTIONSWITCH) -O2 $(CPP_PROJ_INCLUDES) $(CDEFS) -D "LAYOUT_EXPORTS" -D "_WINDOWS" -D "_MBCS" -D "_USRDLL" $(CPDBOBJ) -c + +[CFlags_layoutex] +CPP_PROJ=-MT -W3 -GF -Gy $(EXCEPTIONSWITCH) $(COPT) $(CPP_PROJ_INCLUDES) $(CDEFS) -Fp".\Release/layoutex.pch" $(CPDBOBJ) -c + +[CFlags_stubdata] +CPP_PROJ=-MD -W3 -GF -Gy -Za $(EXCEPTIONSWITCH) $(COPT) $(CPP_PROJ_INCLUDES) $(CDEFS) -Fp".\Release/stubdata.pch" $(CPDBOBJ) -c + +[CFlags_test_cintltst] +CPP_PROJ=-MT -Za -O2 -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_test_intltest] +CPP_PROJ=-nologo -MT -Za -Zi -Ox -Ob0 -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_test_iotest] +CPP_PROJ=-nologo -MD -Za -Zi -Ox -Ob0 -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_test_letest] +CPP_PROJ=-nologo -MD -Za -Zi -Ox -Ob0 -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_tools_ctestfw] +CPP_PROJ=-nologo -MD -O2 -FD -Za -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) -Fp".\Release/icutest.pch" $(CPDBOBJ) -c + +[CFlags_tools_genbrk] +CPP_PROJ=-nologo -MD -Za -O2 -W3 $(EXCEPTIONSWITCH) $(CPP_PROJ_INCLUDES) $(CDEFS) $(CPDBOBJ) -c + +[CFlags_tools_gencase] +CPP_PROJ=-nologo -MD -GF -Za -Zi -W3 $(EXCEPTIONSWITCH) $(COPT) $(CPDBOBJ) -c + +[CFlags_tools_genccode] +CPP_PROJ=-MD -O2 $(CTOOLSFLAGS) + +[CFlags_tools_gencmn] +CPP_PROJ=-O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_genctd] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_gencnval] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_gennames] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_gennorm] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_genpname] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_genprops] +CPP_PROJ=-MD -O2 -Za $(CTOOLSFLAGS) + +[CFlags_tools_genrb] +CPP_PROJ=-Za $(CTOOLSFLAGS) + +[CFlags_tools_genrb.derb] +CPP_PROJ=-Za -GX $(CTOOLSFLAGS) + +[CFlags_tools_gensprep] +CPP_PROJ=-Za $(CTOOLSFLAGS) + +[CFlags_tools_gentest] +CPP_PROJ=-Za -O2 $(CTOOLSFLAGS) + +[CFlags_tools_genuca] +CPP_PROJ=-Za -O2 $(CTOOLSFLAGS) + +[CFlags_tools_gencase] +CPP_PROJ=-Za -O2 $(CTOOLSFLAGS) + +[CFlags_tools_genbidi] +CPP_PROJ=-Za -O2 $(CTOOLSFLAGS) + +[CFlags_tools_icupkg] +CPP_PROJ=-O2 $(CTOOLSFLAGS) + +[CFlags_tools_icuswap] +CPP_PROJ=-O2 $(CTOOLSFLAGS) + +[CFlags_tools_makeconv] +CPP_PROJ=-Za $(CTOOLSFLAGS) + +[CFlags_tools_pkgdata] +CPP_PROJ=-Za -O2 $(CTOOLSFLAGS) + +[CFlags_tools_toolutil] +CPP_PROJ=-MD -O2 $(CTOOLSFLAGS) + +[CommonLinkFlags] +PDBOUT=/pdb:"<PDBFILE>" /out:"<OUTFILE>" +COMMONLINKFLAGS=/incremental:no /nologo $(PDBOUT) +COMMONLINKFLAGS_CONSOLE=$(COMMONLINKFLAGS) /subsystem:console +COMMONLINKFLAGS_DLL=$(COMMONLINKFLAGS) /dll + +[LinkFlags_common] +LINK32_FLAGS=icudata.lib kernel32.lib user32.lib advapi32.lib shell32.lib $(COMMONLINKFLAGS_DLL) /base:"0x4a800000" /implib:"$(OUTDIR)\icuuc.lib" /libpath:"..\..\lib" + +[LinkFlags_i18n] +LINK32_FLAGS=icuuc.lib $(COMMONLINKFLAGS_DLL) /base:"0x4a900000" /implib:"$(OUTDIR)\icuin.lib" /libpath:"..\..\lib" + +[LinkFlags_extra_uconv] +LINK32_FLAGS=icuuc.lib icuin.lib uconvmsg.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib" /libpath:"Release" + +[LinkFlags_layout] +LINK32_FLAGS=..\..\lib\icuuc.lib $(COMMONLINKFLAGS_DLL) /implib:"$(OUTDIR)\icule.lib" + +[LinkFlags_io] +LINK32_FLAGS=icuuc.lib icuin.lib $(COMMONLINKFLAGS_DLL) /libpath:"..\..\lib" /implib:"$(OUTDIR)\icuio.lib" + +[LinkFlags_layoutex] +LINK32_FLAGS=..\..\lib\icuuc.lib ..\..\lib\icule.lib $(COMMONLINKFLAGS_DLL) /implib:"$(OUTDIR)\iculx.lib" + +[LinkFlags_stubdata] +LINK32_FLAGS=kernel32.lib user32.lib /nologo /dll /incremental:yes $(PDBOUT) /implib:"..\..\lib\icudata.lib" + +[LinkFlags_test_cintltst] +LINK32_FLAGS=icuuc.lib icuin.lib icutest.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib\\" + +[LinkFlags_test_intltest] +LINK32_FLAGS=$(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib" + +[LinkFlags_test_iotest] +LINK32_FLAGS=icuuc.lib icuin.lib icutu.lib icuio.lib icutest.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib" + +[LinkFlags_test_letest] +LINK32_FLAGS=icuuc.lib icuin.lib icutu.lib icule.lib iculx.lib icutest.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib" + +[LinkFlags_tools_ctestfw] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_DLL) /implib:"$(OUTDIR)\icutest.lib" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genbrk] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gencmn] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genctd] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gencnval] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genccode] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gennames] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gennorm] +LINK32_FLAGS=icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genpname] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genprops] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genrb] +LINK32_FLAGS=icuin.lib icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genrb.derb] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\..\..\lib" + +[LinkFlags_tools_gensprep] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gentest] +LINK32_FLAGS=icuuc.lib icutu.lib icutest.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genuca] +LINK32_FLAGS=icuin.lib icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_gencase] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_genbidi] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_icupkg] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_icuswap] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_makeconv] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_pkgdata] +LINK32_FLAGS=icuuc.lib icutu.lib $(COMMONLINKFLAGS_CONSOLE) /libpath:"../toolutil/release" /libpath:"..\toolutil\Release" /libpath:"..\..\..\lib" + +[LinkFlags_tools_toolutil] +LINK32_FLAGS=kernel32.lib ..\..\..\lib\icuin.lib $(COMMONLINKFLAGS_DLL) /NODEFAULTLIB:libcmt /implib:"$(OUTDIR)\icutu.lib" /libpath:"..\..\..\lib" + +[LinkTemplate] +<OUTFILE> : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;<MANIFEST> + +[AdditionalLinkObjects_common] + $(OUTDIR)\icudata.lib + +[AdditionalLinkObjects_i18n] + "$(OUTDIR)\icuuc.lib" + +[AdditionalLinkObjects_extra_uconv] + "$(INTDIR)\uconvmsg.lib" \ + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icuin.lib" + +[AdditionalLinkObjects_layout] + "$(OUTDIR)\icuuc.lib" + +[AdditionalLinkObjects_io] + "$(OUTDIR)\icuuc.lib" + +[AdditionalLinkObjects_layoutex] + "$(OUTDIR)\icuuc.lib" \ + "$(OUTDIR)\icuin.lib" \ + "$(OUTDIR)\icule.lib" + +[AdditionalLinkObjects_test_cintltst] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutest.lib" \ + "..\..\..\lib\icuin.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_test_intltest] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutest.lib" \ + "..\..\..\lib\icuin.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_test_letest] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutest.lib" \ + "..\..\..\lib\icuin.lib" \ + "..\..\..\lib\icule.lib" \ + "..\..\..\lib\iculx.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genbrk] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genccode] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gencmn] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genctd] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gencnval] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gennames] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gennorm] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genpname] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genprops] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genrb] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icuin.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genrb.derb] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icudata.lib" + +[AdditionalLinkObjects_tools_gensprep] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gentest] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genuca] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icuin.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_gencase] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_genbidi] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_icupkg] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_icuswap] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_makeconv] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_pkgdata] + "..\..\..\lib\icuuc.lib" \ + "..\..\..\lib\icutu.lib" + +[AdditionalLinkObjects_tools_toolutil] + "$(OUTDIR)\icuuc.lib" + + +[Rules] +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +[AllTargetTools] +ALL : "$(OUTDIR)\<MAKFILE>.exe" ".\<RELPATH>\bin\<MAKFILE>.exe" + +[AllInOnePrj] +<PRJ> : + cd "$(MAKEDIR)\<PRJDIR>" + $(MAKE) /$(MAKEFLAGS) /F <PRJMAK> EXCEPTIONSWITCH="$(EXFLAGS)" + cd "<ALLINONEDIR>" + +[HeadSectionCommon] +NULL= +!IF "$(CFG)" == "<MAKFILE> - Win32 Release" + +OUTDIR=<OUTDIR> +INTDIR=<INTDIR> +"$(OUTDIR)" : + if not exist "$(OUTDIR)/\$(NULL)" mkdir "$(OUTDIR)" + +"$(INTDIR)" : + if not exist "$(INTDIR)/\$(NULL)" mkdir "$(INTDIR)" + +!IF "$(CFG)" == "<MAKFILE> - Win32 Release" + +ALL : <ALLTARGETS> + +[Special_stubdata] +<OUTFILE> : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + @if not exist "..\..\bin" mkdir "..\..\bin" + @if not exist "..\..\lib" mkdir "..\..\lib" + @if not exist "..\..\include" mkdir "..\..\include" + @if not exist "..\..\include\unicode" mkdir "..\..\include\unicode" + @if not exist "..\..\include\layout" mkdir "..\..\include\layout" + echo "File with stubdata build time, used as a dependency to trigger fresh data build, since stubdata dll will overwrite the real one." > .\stubdatabuilt.txt + $(LINK32) $(LINK32_FLAGS) $(LINK32_OBJS) + +[Special_extra_uconv] +SOURCE=.\makedata.mak +InputPath=.\makedata.mak + +"$(INTDIR)\uconvmsg.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" + <<tempfile.bat + @echo off + nmake /nologo /f makedata.mak icup=.\..\..\.. CFG=Release +<< + + + +[End] diff --git a/icu/createmak.pl b/icu/createmak.pl new file mode 100644 index 000000000000..891c5e33a778 --- /dev/null +++ b/icu/createmak.pl @@ -0,0 +1,1109 @@ +: +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +# +use XML::Parser; +# ------------------------------------------------------------------------ +# Other global stuff +$is_debug=0; +my $path = $ENV{'INPATH'} . "/"; +my $quot = '"'; +my %template_hash=(); +my %vcproj_hash=(); +# ------------------------------------------------------------------------ +# Global stuff for parsing the *.vcproj files (XML::Parser) +# +my $ConfigurationGlobal = 1; # Release = 1, Debug=0 +my $Configuration = undef; +my %configelements = (); +my %files = (); +my %files2copy = (); +my %files_special = (); +my $Release = 1; + # Release = 1, Debug = 0, undef = 2 +my $file_tmp = ""; # temporary storage for file name +my $CustomSection = 0; +# ------------------------------------------------------------------------ +# ------------------------------------------------------------------------ +# e.g. %object_hash with Key = blabla.cpp +# contains a Hash: +# Header: "..\\common\\unicode\\utypes.h ..\\common\\unicode\\uset.h" +# CFlags: Common (set in templates file) or special sequence +# CDefs: Common (set in templates file) or special sequence +# ------------------------------------------------------------------------ +my $configfile = shift; +my $sourcePath = shift; +if ( !$configfile ) { + $configfile = "createmak.cfg"; +} +if ( !$sourcePath ) { + $inpath = $ENV{"INPATH"}; + $sourcePath = $inpath . "\\misc\\build\\icu\\source"; +} +$dir = ""; +$header = ""; +$sep = "\\\\"; + +%project_by_id =(); +%project_by_name = (); +%project_dependencies = (); +my @builddeps = prepare_allinone_all_mak(\%project_by_id,\%project_by_name,\%project_dependencies,$sourcePath); + +fillTemplateHash($configfile); + +create_allinone_all_mak(\@builddeps,\%project_by_id,$sourcePath); +my @dirs = (); +foreach $projectname(keys %project_by_name) +{ + my $dir = $project_by_name{$projectname}[1]; + $dir =~ /\.\.\\(.+)\\(.+)\.vcproj/; + my $dir1 = $1; + my $dir2 = $2; + if ( $dir1 !~ /$dir2$/ ) { + $dir1 .= "\.$dir2"; + } + print "$dir1 - $dir2\n" if ($is_debug); + push @dirs, $dir1; +} + +# set nonpro switch (linking against debug runtime if nonpro=1) +my $nonpro = ($ENV{"PROEXT"} ne ".pro"); +print "Non Product Build" if ($nonpro); + +foreach $dir(@dirs) +{ + next if ($dir eq "data.makedata"); # very special don't overwrite this file + # ------------------------------------------------------------------------ + # Reset global stuff for parsing the *.vcproj files (XML::Parser) + # + $Configuration = $ConfigurationGlobal; # Release = 1, Debug=0 + %configelements = (); + %files = (); + # contains all relevant *.c,*.cpp,*.h,*.rc files + %files2copy = (); + %files_special = (); + $Release = 2; + # Release = 1, Debug = 0, undef = 2 + $file_tmp = ""; # temporary storage for file name + $CustomSection = 0; + # ------------------------------------------------------------------------ + + my $extra_mak = ""; + ($dir, $extra_mak) = handle_extra_mak_files($dir); # handle e.g. tools/genrb.derb entires + + my @mak=(); # Array for make file *.mak + my %deps=(); + my %object_hash=(); + my %collected_header=(); + my %collect_header_target_hash=(); + my %collect_object_target_hash=(); + my $vcproj_file = ""; + my $resource_file = ""; + + # $dir : common,i18n,... + chomp $dir; + next if ( $dir eq "" ); + my $fullpath = $sourcePath . "\\" . $dir; + if ( $extra_mak eq "" ) { + if ($dir =~ /(.+)+\\(.+)$/) + { + $vcproj_file = $fullpath ."\\$2.vcproj"; + } else + { + $vcproj_file = $fullpath ."\\$dir.vcproj"; + } + } else + { + $vcproj_file = $fullpath . "\\" . $extra_mak . ".vcproj"; + } + + + # Parse the *.vcproj file + my $parser = new XML::Parser(ErrorContext => 2); + $parser->setHandlers(Start => \&start_handler, + Char => \&char_handler); + $parser->parsefile($vcproj_file); + if ( $file_tmp ) { + # save a file which hasn't been saved yet + $files{ $file_tmp } = 1; # save it now + $file_tmp = ""; # has been saved now reset it + } + + # is there a resource file? + foreach $i (keys %files) + { + if ($i =~ /\.rc/) + { + $resource_file = $i; + } + } + # Fill hash %deps for dependencies for all files in directory ($testdir) + # %files contains all relevant files from *.vcproj + + getAllFilesDeps($fullpath,\%deps,\%files); + my $includedir = $configelements{"Release"}{"OutputDirectory"}; # e.g. OutputDirectory = ..\..\lib + $includedir =~ s/lib/include/; + foreach $file( sort keys %deps) + { + $file =~ /(.+)\.(.+)/; + my $name = $1; + my $ext = $2; + next if (!defined $name); + $object = "\$(INTDIR)\\" . "$name.obj"; + $collect_object_target_hash{$object}=1; + + createMakDepSection($dir,$name,$ext,$deps{$file},\@mak,\%files_special); + } + my %all_target_hash=(); + foreach $header(sort keys %files2copy) + { + my $dir; + my $file; + #$pathdepth = "..\\.."; + $file = $header; + $header =~ s/^\.\\//; + $inputpath = $file; + $target = $includedir . "\\" . $header; + $target =~ /.+\\(.+)\\.+$/; + $targetpath = $configelements{"Release"}{"CommandLine"}; + chomp $targetpath; + # set %all_target_hash and @mak + createCopySection($file,$inputpath,$target,$targetpath,\@mak,\%all_target_hash); + $collect_header_target_hash{$target}=1; + } + my $test = $configelements{"Release"}{"OutputFile"}; + $all_target_hash{$test}=1; + + # set name of the *.mak file + my $mak_file=""; + if ( $extra_mak eq "" ) { + $mak_file = $vcproj_file; + $mak_file =~ s/vcproj/mak/; + } else + { + # extra_mak eg. derb, stringperf + $mak_file = $fullpath . "\\$extra_mak" . "\.mak"; + } + + # generate the content of the *.mak file + # in @mak array + print "extra_mak=$extra_mak\n" if ($is_debug); + print "mak_file=$mak_file\n" if ($is_debug); + open(MAKFILE, ">$mak_file") || die "Can't open $mak_file\n"; + print_all_target($fullpath, \%all_target_hash); + + # $extra_mak handles further *.mak files in a directory + print_flags($dir,$extra_mak,'CFlags',$nonpro); # depends on directory + print_simple_flag("Rules"); + print_simple_flag("Link"); + print_common_linkflags(); +# print_flags($fullpath,$extra_mak,'LinkFlags'); # depends on directory +# print_lib32_objs($fullpath,$extra_mak,\%collect_object_target_hash,$resource_file); + print_flags($dir,$extra_mak,'LinkFlags'); # depends on directory + print_lib32_objs($dir,$extra_mak,\%collect_object_target_hash,$resource_file); + + # write @mak array into the *.mak file + foreach $line(@mak) + { + print MAKFILE $line; + } + $|=1; + print "."; # user entertainment + $|=0; +} +print "\ndone\n"; +exit; + +############################################################################ +sub getKey #01.04.2008 09:46 +############################################################################ + { + my $line = shift; + $line =~ /\[(.+)\]/; + return $1; +} ##getKey + +############################################################################ +sub fillTemplateHash #01.04.2008 10:48 +############################################################################ + { + my $file = shift; + open (TEMPLATE, "< $file") || die "Can't open template file $file\n"; + my $key = ""; + while ( $line=<TEMPLATE> ) { + if ( $line =~ /\[.+\]/ ) { + print $line if ($is_debug); + if ( $key ne "" ) { + $template_hash{$key}=[@cmdlines]; + @cmdlines=""; + $key=""; + } + $key = getKey( $line ); + } else + { + push @cmdlines, $line; + } + } # while +} ##fillTemplateHash + +############################################################################ +sub createCopySection #01.04.2008 11:37 +############################################################################ + { + my $header = shift; + my $inputpath = shift; + my $target = shift; + my $targetpath = shift; + my $ref_make_file = shift; # Array written later to make file *.mak + my $ref_all_target_hash = shift; # reference to fill all_target_hash; + if ( $target !~ /\\include/ && $target !~ /\\bin/) { + return; # $target contains nonsense + } + if ( !$targetpath ) { + # $targetpath is empty! (Due to missing entry in *.vcproj file) + # Generate $targetpath here from $target + my $t = $target; + $t =~ /(.+)\\(.+)$/; + $targetpath = "copy \"\$(InputPath)\" " . $1; + chomp $targetpath; + } + $targetpath =~ s/\r$//; # remove x0A from EOL if the is one + my @template = @{$template_hash{"Copy"}}; + my $line = ""; + foreach $line(@template) + { + $line =~ s/<HEADER>/$header/g; + $line =~ s/<INPUTPATH>/$inputpath/g; + $line =~ s/<TARGET>/$target/g; + $line =~ s/<TARGETPATH>/$targetpath/; + push @{$ref_make_file}, $line; # from template + $$ref_all_target_hash{$target} = 1; # "\"$target\" "; + # save for target ALL: + } +} ##createCopySection + +############################################################################ +sub createMakDepSection #01.04.2008 13:36 +############################################################################ + { + # creates the dependency section in the make file + my $dir = shift; + my $source = shift; + my $extension = shift; + my $ref_header_list = shift; + my $ref_make_file = shift; # Array written later to make file *.mak + my $ref_special_file = shift; # hash for special files (compiler flags, include paths) + my $header_list = ""; + my $special_flag = 0; + + return if ( !defined $source ); + foreach $header(@{$ref_header_list}) + { + if ( ($header =~ /^\.\.\\.+/) && (-e $header )) { + $header_list = $header_list . " " . $header; # this header is located in an other directory + } else + { + $header_list = $header_list . " .\\" . $header; + } + } + + #special handling + # compile this file with other compiler switches + my $file = $source . "\." . $extension; + $dir =~ s/\\/_/; + my @template = @{$template_hash{"CFlags_$dir"}}; + if ( defined $$ref_special_file{"AdditionalIncludeDirectories"}{$file} ) { + $special_flag = 1; + my $includepath = $$ref_special_file{"AdditionalIncludeDirectories"}{$file}; + $includepath =~ s/\;/\/I /g; # subst ; with /I for multiple paths + $line = "CPP_SWITCH_INCLUDE=/I $includepath\n"; + push @{$ref_make_file}, $line; + foreach $line(@template) + { + if ( $line =~ /CPP_PROJ/) + { + $line =~ s/CPP_PROJ=/CPPX_PROJ=/; + $line =~ s/\$\(CDEFS\)/\$\(CDEFS\) \$\(CPP_SWITCH_INCLUDE\)/; # include $(CPP_SWITCH_INCLUDE) + push @{$ref_make_file}, $line; + } + } + } + if ( $$ref_special_file{"DisableLanguageExtensions"}{$file} ) + { + # FALSE = /Ze + $special_flag = 1; + foreach $line(@template) + { + if ( $line =~ /CPP_PROJ/) + { + $line =~ s/CPP_PROJ=/CPPX_PROJ=/; + $line =~ s/-Za/-Ze/; + if ( $nonpro ) + { + # if non product link against debug libraries + $line =~ s/-MD/-MDd/; + $line =~ s/-MT/-MTd/; + } + push @{$ref_make_file}, $line; + } + } + } + + @template = @{$template_hash{"Deps"}}; + my $line = ""; + foreach $line(@template) + { + $line =~ s/<SOURCEFILE>/$source/g; + $line =~ s/<EXT>/$extension/g; + $line =~ s/<HEADER_LIST>/$header_list/g; + push @{$ref_make_file}, $line; + } + + if ( $special_flag ) + { + pop @{$ref_make_file}; # remove empty line + push @{$ref_make_file},"\t\$(CPP) @<<\n"; + push @{$ref_make_file},"\t\$(CPPX_PROJ) \$(SOURCE)\n"; + push @{$ref_make_file},"<<\n\n"; + $special_flag = 0; + } + +} ##createMakDepSection + + +############################################################################ +sub getFilenameFromPath #10.04.2008 13:03 +############################################################################ +{ + my $path = shift; + $path =~ /.+\\(.+)$/; + return $1; +} ##getFilenameFromPath + +############################################################################ +sub getAllFilesDeps #08.04.2008 09:39 +############################################################################ +{ + my $path = shift; + my $ref_deps = shift; + my $ref_allfiles = shift; # contains all relevant files from *.vcproj + my %local_header_hash=(); # contains all local header + + my @all_files = keys %{$ref_allfiles}; + + # collect lokal header names in %header_hash + foreach $file(@all_files) + { + if ( $file =~ /.+\.h/ ) { + chomp $file; + $local_header_hash{$file} = 1; + } + } + + foreach $file(@all_files) + { + my @header_deps=(); + my $skip = 0; + + $file =~ s/^\.\\//; # remove leading .\ + + # exclude sub directories and several file extensions + # *.dep,*.h,*.in,*.mak,*.pl,*.txt,*.vcproj.*.rc and origs of patch files (*.*~) and + # .cvsignore (files beginning with .) + next if ( (-d "$path$sep$file") || ($file =~ /.+(_|\~|dep|h|in|mak|pl|txt|vcproj|rc)$/) || ($file =~ /^\.+./)); + parse_header_deps($path,$file,\@header_deps,\%local_header_hash); + handle_dep_to_other_directory($path,$file,\@header_deps,$$ref_vcproj{$file}) if ($$ref_vcproj{$file}); + $$ref_deps{$file}=[@header_deps]; + } +} ##getAllFilesDeps + + ############################################################################ + sub parse_header_deps #14.06.2006 18:04 + ############################################################################ + { + # get includes from c/cpp file + # call create_deps(path,file,\$link_obj) + # + my $path = shift; + my $cfile = shift; + my $ref_header_deps = shift; + my $ref_local_header_hash = shift; + + my $fullpath = $path . $sep . $cfile; + my $unicodedep=""; + open(IN, "<$fullpath") || die "can't open $fullpath\n"; + while ( $line = <IN> ) { + next if ($line !~ /^.?\#include.+/); # handle include lines only + if ($line =~ /.+?\s(.+)/) + { + $header = $1; + if ( ($header !~ /^<.+/) && ($header !~ /.+\.c.+$/) ) { + # no <stdio> etc. header + $header =~ s/\s+\/\*.+\*\///; # delete <blanks>/* ... */ + $header =~ s/\s+\/\/.+//; # delete <blanks>//...... + $header =~ s/\//\\/; # subst. / with \ + $header =~ s/^\"/\".\\/; + $header =~ s/\"//g; + $header =~ s/\.\\//; + my $test = $$ref_local_header_hash{$header}; + my $header_fullpath = $path . "\\" . $header; + if ( $test || (($header =~ /\\/) && (-e $header_fullpath))) { + push @{$ref_header_deps}, $header; + } + } + } + } + } ##parse_header_deps + +############################################################################ +sub handle_dep_to_other_directory #16.04.2008 15:11 +############################################################################ +{ + # there has been an additional include directoy detected + # now try to find out which header (parsed from c/cpp-file) + # comes from this directory by checking: does it exist there? + my $path = shift; + my $file = shift; + my $ref_header_deps = shift; + my $path_additional = shift; + my $search_path = $path . "\\" . $path_additional; + my $counter = 0; + foreach $header(@{$ref_header_deps}) + { + my $full_path = $search_path . "\\" . $header; + if ( -e "$full_path" ) + { + $$ref_header_deps[$counter] = $path_additional . "\\" . $header; + } + $counter++ + } +} ##handle_dep_to_other_directory + +############################################################################ +sub print_lib32_objs #18.04.2008 12:54 +############################################################################ + { + # generate Link section + my $path = shift; + my $extra_mak = shift; + my $ref_objecthash = shift; + my $resource_file = shift; + # output link objects + print MAKFILE "LINK32_OBJS= \\\n"; + # print objects + foreach $object(sort keys %{$ref_objecthash}) + { + print MAKFILE "\t$object \\\n"; + } + + # print *.res if *.rc exists + if ( $resource_file ne "" ) { + my $res_file = $resource_file; + $res_file =~ s/\.rc/\.res/; + $res_file =~ /(.+)\\(.+)$/; + $res_file = $2; + print MAKFILE "\t\$(INTDIR)\\$res_file \\\n"; + } + + # add import libs and res files + print_flags($path,$extra_mak,"AdditionalLinkObjects"); + my $outfile = $configelements{"Release"}{"OutputFile"}; + + # section for linking + print_link_template($path,$outfile); + + # section for creating res files + # setting for rsc, res target etc. + print "resource_file=$resource_file\n" if ($is_debug); + print_rsc_template($resource_file) if ($resource_file); + print_simple_flag("Special_extra_uconv") if ($outfile =~ /uconv/); +} ##print_lib32_objs + +############################################################################ +sub print_all_target #26.06.2008 13:27 +############################################################################ + { + my $path = shift; + my $ref_all_target_hash = shift; + my $filename = getFilenameFromPath($path); + my $outdir = $configelements{"Release"}{"OutputDirectory"}; + print MAKFILE "NULL=\n"; + print MAKFILE "OUTDIR=$outdir\n"; + print MAKFILE "OutDir=$outdir\n"; + print MAKFILE "INTDIR=.\\Release\n\n"; + print MAKFILE "ALL: "; + foreach $target(sort keys %{$ref_all_target_hash}) + { + if ( $target =~ /\.exe/ ) { + my $out = $target; + $out =~ s/.\\Release/\.\.\\\.\.\\\.\.\\bin/; + $out =~ s/\$\(OutDir\)/\.\.\\\.\.\\\.\.\\bin/; + $out =~ s/\//\\/; # convert / to \ + $target = $out; + } + print MAKFILE "\"$target\" "; + } + + # Append [Target_<dir>] item e.g. ../../icuxy36.dll + my $targetkey = "Target_" . $filename; + my @target = (); + if ( exists $template_hash{$targetkey} ) { + @target = @{$template_hash{$targetkey}}; + } + my $additional_target=""; + foreach $additional_target(@target) + { + print MAKFILE $additional_target if ($additional_target ne ""); + } + print MAKFILE "\n\n"; + print MAKFILE "\"\$(OUTDIR)\" : \n"; + print MAKFILE "\tif not exist \"\$(OUTDIR)/\$(NULL)\" mkdir \"\$(OUTDIR)\"\n\n"; + print MAKFILE "!IF \"\$(OUTDIR)\" != \"\$(INTDIR)\"\n"; + print MAKFILE "\"\$(INTDIR)\" : \n"; + print MAKFILE "\tif not exist \"\$(INTDIR)/\$(NULL)\" mkdir \"\$(INTDIR)\"\n"; + print MAKFILE "!ENDIF\n"; + print MAKFILE "\n\n"; +} ##print_all_target + +############################################################################ +sub print_simple_flag #18.04.2008 13:39 +############################################################################ +{ + my $simple_flag = shift; + my @template = @{$template_hash{$simple_flag}}; + foreach $line(@template) + { + print MAKFILE $line; + } +} ##print_rules + +############################################################################ +sub print_link_template #18.04.2008 13:39 +############################################################################ +{ + my $dir = shift; + my $outfile = shift; + my $manifest; + # set resource id for manifest file + if ( $outfile =~ /\.exe/ ) { + $manifest = 1; + } else + { + $manifest = 2; + } + my @template = (); + if ($dir =~ /stubdata/ ) { + @template = @{$template_hash{"Special_stubdata"}}; + } else + { + @template = @{$template_hash{"LinkTemplate"}}; + } + + print MAKFILE "\n"; # insert blank line + foreach $line(@template) + { + $line =~ s/<OUTFILE>/$outfile/; + $line =~ s/<MANIFEST>/$manifest/; + print MAKFILE $line; + } + + # insert special stuff for + # extras/uconv/uconv.mak + if ( $dir =~ /uconv/ ) { + print_flags($dir,"","Special"); + } + + # for *.exe files an additional + # copy section is required to get + # the stuff into the global bin directory + my %dummy = (); + my @mak = (); + if( $manifest ==1 ) + { + # source,inputpath,target,action + my $out = $outfile; + $out =~ s/.\\.*Release/\.\.\\\.\.\\\.\.\\bin/; + $out =~ s/\$\(OutDir\)/\.\.\\\.\.\\\.\.\\bin/; + $out =~ s/\//\\/; # subst / with \ + $outfile =~ s/\//\\/; # subst / with \ + createCopySection($outfile,$outfile,$out,"copy \"\$(InputPath)\" .\\..\\..\\..\\bin",\@mak,\%dummy); + foreach $line(@mak) + { + print MAKFILE $line; + } + } +} ##print_rules + +############################################################################ +sub print_rsc_template #04.11.2008 14:48 +############################################################################ + { + # print resource compiler setting + resource target + my $resourcefile = shift; + # skip this if no res file required + + return if (!$resourcefile); + $resfile = $resourcefile; + #remove file extension (.res) + $resfile =~ /(.+)\\(.+)\.(.+)/; + $resfile = $2; + + my @template = @{$template_hash{"RSC_Template"}}; + print MAKFILE "\n"; # insert blank line + foreach $line(@template) + { + $line =~ s/<FILE>/$resourcefile/; + $line =~ s/<FILEOUT>/$resfile/; + print MAKFILE $line; + } +} ##print_rsc_template + +############################################################################ +sub print_flags #18.04.2008 14:19 +############################################################################ +{ + # CFlags, LinkFlags + my $dir = shift; + my $extra_mak = shift; # eg. derb.mak, stringperf.mak + my $flag = shift; + my $nonpro = shift; + my @template = (); + my $switch = ""; + $dir =~ s/\\/_/g if ($dir); # change \ to _ + $switch = "$flag" . "_" . "$dir" if ($dir); + handle_CFlags() if ($flag eq "CFlags"); # get and print Preprocessor defines + $switch .= "\." . $extra_mak if ( $extra_mak ne "" ) ; + if ( exists $template_hash{$switch} ) { + @template = @{$template_hash{$switch}}; + foreach $line(@template) + { + if ( $nonpro ) + { + # if non product link against debug libraries + $line =~ s/-MD/-MDd/; + $line =~ s/-MT/-MTd/; + } + print MAKFILE $line; + } + } +} ##print_flags + +############################################################################ +sub handle_CFlags #28.01.2009 11:20 +############################################################################ + { + + my $ppdefs = $configelements{"Release"}{"PreprocessorDefinitions"}; + my $ppinc = $configelements{"Release"}{"AdditionalIncludeDirectories"}; + my @template = @{$template_hash{"General_CFlags"}}; + $ppdefs =~ s/;/ -D/g; # subst ; with -D switch + $ppdefs = "-D" . $ppdefs; + $ppinc =~ s/(;|,)/ -I/g; # subst ; with -I switch + $ppinc = "-I" . $ppinc; + print "ppdefs=$ppdefs\n" if ($is_debug); + print "ppinc =$ppinc\n" if ($is_debug); + foreach $line(@template) + { + $line =~ s/<AddIncDirs>/$ppinc/; + $line =~ s/<PreProcDefs>/$ppdefs/; + print MAKFILE $line; + } +} ##handle_CFlags + +############################################################################ +sub print_common_linkflags #21.11.2008 11:47 +############################################################################ + { + my @template = @{$template_hash{"CommonLinkFlags"}}; + my $outfile = $configelements{"Release"}{"OutputFile"}; + my $pdbfile = $configelements{"Release"}{"ProgramDatabaseFile"}; + $pdbfile =~ s/\//\\/; # subst / with \ + $outfile =~ s/\//\\/; # subst / with \ + print "PATH=$path OUTFILE=$outfile\n" if ($is_debug); + foreach $line(@template) + { + $line =~ s/<OUTFILE>/$outfile/; + $line =~ s/<PDBFILE>/$pdbfile/; + print MAKFILE $line; + } +} ##print_common_linkflags + +############################################################################ +sub handle_extra_mak_files #25.08.2008 14:32 +############################################################################ +{ + # extract extra filename for *.mak file + # e.g input: tools\genrb.derb + # output: derb + my $direntry = shift; + my $out = ""; + my $dir = ""; + if ( $direntry =~ /(.+)\.(.+)$/ ) { + $dir = $1; + $out = $2; + } else + { + $dir = $direntry; + } + return ($dir,$out); +} ##handle_extra_mak_files + +############################################################################ +sub prepare_allinone_all_mak +############################################################################ +{ + # Read in allinone.sln + # Fills hashes and returns an array with build order + # uses topographical sorting + + my $href_project_by_id = shift; + my $href_project_by_name = shift; + my $href_project_dependencies = shift; + my $sourcePath = shift; + + my $allslnfile = $sourcePath . "\\allinone\\allinone.sln"; + my @projectdeps; + my $projectname; + my $projectpath; + my $projectid; + + # fill hash tables + open (SLN, "< $allslnfile") || die "Can't open $allslnfile\n"; + while ($line = <SLN>) + { + my @project = (); + if ( $line =~ /^Project\(/ ) { + @project = split( /,/, $line); + if ( $#project ) { + $projectname = ""; + $projectpath = ""; + $projectid = ""; + @projectdeps = (); + my @subarray = (); + @subarray = split( /=/, $project[0]); + $projectname = $subarray[1]; + $projectname =~ s/\"//g; # remove " + $projectpath = $project[1]; + $projectid = $project[2]; + $projectid =~ s/\"//g; # remove " + $projectid =~ s/.+\{//g; # remove til { + $projectid =~ s/\}\n//g; # remove }<CR> + my @pnp = ($projectname,$projectpath); + my @pip = ($projectid,$projectpath); + $$href_project_by_id{$projectid}=[@pnp]; + $$href_project_by_name{$projectname} =[@pip]; + } + } # $line =~ /^Project\(/ + if ( $line =~ /ProjectSection\(/ ) { + $psect = 1; + next; + } + if ( $line =~ /EndProjectSection/ ) { + $psect = 0; + $$href_project_dependencies{$projectid}=[@projectdeps]; + next; + } + if ( $psect ) { + my @tarray = split(/=/, $line); + $depends_on_id = $tarray[0]; + $depends_on_id =~ s/.+\{//g; + $depends_on_id =~ s/\}.+//g; + print "+$depends_on_id-\n" if ($is_debug); + + push @projectdeps, $depends_on_id; + } + } + ######################################## + # sort here and generate build order + ######################################## + $objektzahl=0; + %hashindex=(); + + foreach $projectid(keys %{$href_project_by_id}) + { + if ( $$href_project_dependencies{$projectid} ) + { + @deps = @{$$href_project_dependencies{$projectid}}; + } else + { + @deps = (); + } + for $counter(0..$#deps) + { + $v = find_or_create_element($deps[$counter]); + $n = find_or_create_element($projectid); + push @{$nachfolgerliste[$v]},$n; + } + } + + for $n (0..$objektzahl-1) + { + $vorgaengerzahl[$n]=0; + } + for $v (0..$objektzahl-1) + { + for $n (@{$nachfolgerliste[$v]}) + { + ++$vorgaengerzahl[$n]; + } + } + + @hilfsliste=(); + for $n (0..$objektzahl-1) + { + push(@hilfsliste,$n) if ($vorgaengerzahl[$n]==0) + } + + $ausgabe=0; + @builddep =(); + while (defined($v=pop(@hilfsliste))) + { + push @builddep, $name[$v]; # save build order by project_id; + ++$ausgabe; + for $n (@{$nachfolgerliste[$v]}) + { + --$vorgaengerzahl[$n]; + push(@hilfsliste,$n) if ($vorgaengerzahl[$n]==0); + } + } # while + die "Cyclic dependencies found! Stopping now.\n" if $ausgabe<$objektzahl; + ############################################################## + # End of sorting stuff + ############################################################## + + return @builddep; + ############################################################### + ########################### + # sub for sorting only + ########################### + sub find_or_create_element + { + my ($str)=@_; + my ($idx)=$hashindex{$str}; + if (!defined($idx)) { # new element ... + $idx=$objektzahl++; + $hashindex{$str}=$idx; + $name[$idx]=$str; + @{$nachfolgerliste[$idx]}=(); + } + return $idx; + } # find_or_create_element +} # prepare_allinone_all_mak + +############################################################################ +sub create_allinone_all_mak #09.02.2009 09:22 +############################################################################ +{ + my $ref_buildorder = shift; + my $href_project_by_id = shift; + my $sourcePath = shift; + my $allmakfile = $sourcePath . "\\allinone\\all.mak"; + open (ALLMAK, ">$allmakfile") || die "Can't write to $allmakfile \n"; + print ALLMAK "ALL: "; + foreach $proj(@{$ref_buildorder}) + { + print ALLMAK $$href_project_by_id{$proj}[0]; + } + print ALLMAK "\n\n"; + + foreach $proj( @{$ref_buildorder} ) + { + print "$proj $$href_project_by_id{$proj}[0] $$href_project_by_id{$proj}[1]\n"; + my $prjdir = $$href_project_by_id{$proj}[1]; + $prjdir =~ /(.+)\\(.+)$/; + $prjdir = $1; + $prjname = $2; + $prjdir =~ s/^.+\"//; + $prjname =~ s/\"$//; + $prjname =~ s/vcproj/mak/; + $allinonehelpstring = $prjdir; + $allinonehelpstring =~ s/^\.+\\//; # remove ..\ + my $backcount = ""; + while ($allinonehelpstring=~ /.+\\/g) # counts the occuring \ + { + $backcount .= "..\\"; + } + $allinonedir = $backcount . "..\\allinone"; + + # write all.mak + $$href_project_by_id{$proj}[0] =~ s/^\s+//; + if ( $$href_project_by_id{$proj}[0] ne "makedata" ) + { + my @template = @{$template_hash{"AllInOnePrj"}}; + foreach $line(@template) + { + $line =~ s/<PRJ>/$$href_project_by_id{$proj}[0]/; + $line =~ s/<PRJDIR>/$prjdir/; + $line =~ s/<PRJMAK>/$prjname/; + $line =~ s/<ALLINONEDIR>/$allinonedir/; + print ALLMAK $line; + } + } else + { + #special code snippet + print ALLMAK "makedata : \n"; + print ALLMAK " cd \"..\\data\"\n"; + print ALLMAK " nmake /f makedata.mak icumake=\$(MAKEDIR)\\..\\data cfg=Release\n"; + print ALLMAK " cd \"..\\allinone\"\n\n"; + } + } + close ALLMAK; +} ##create_allinone_all_mak + +############################################################################ + +# ------------------------------------------------------------------------ +# XML parser handling +# ------------------------------------------------------------------------ + +############################################################################ +sub start_handler +############################################################################ +{ + my $p = shift; # pointer to parser + my $el = shift; # element + + # Deal with attributes + + my $CompilerSection = 0; + my $LinkerSection = 0; + my $ConfigSection = ($el eq "Configuration"); + + while (@_) + { + # shift if ( $el eq "FileConfiguration" ); + my $att = shift; + my $val = shift; + $CustomSection = 0; + if ($special_file && defined $att & $att ne "Name") + { + print "$special_file - $att - $val\n"; + my @param = ($att,$val); + $files_special{ $special_file } = [@param]; # files with special compiler switch + @test = @{$files_special{ $special_file }}; + print "test=@test\n"; + $special_file=""; + } + if ( $ConfigSection && $att eq "Name" && $val eq "Release|Win32" ) { + $Release = 1; + $config = "Release"; # Release + } + if ( $ConfigSection && $att eq "Name" && $val eq "Debug|Win32" ) { + $Release = 0; # Debug + $config = "Debug"; + } + if ( $att eq "Name" && $val eq "VCCLCompilerTool" ) { + $CompilerSection = 1; + } + if ( $att eq "Name" && $val eq "VCLinkerTool" ) { + $LinkerSection = 1; + } + if ( $att eq "Name" && $val eq "VCCustomBuildTool" ) { + $CustomSection = 1; + } + + # For Configuration Infos like compiler defines etc. + if ( $att eq "PreprocessorDefinitions" && $CompilerSection ) { + $configelements{$config}{$att} = $val; + } + if ( $att eq "AdditionalIncludeDirectories" && $CompilerSection ) { + #$configelements{$config}{$att} = $val; + if ( ($file_tmp ne "") && ($val ne "") ) { + $files{ $file_tmp } = 1; # save it now + $file_tmp =~ s/^\.\\//; # remove leading .\ + $files_special{"AdditionalIncludeDirectories"}{$file_tmp} = $val; + print "Include $val: $file_tmp\n" if ($is_debug); + $file_tmp = ""; # has been saved now reset it + } else + { + $configelements{$config}{$att} = $val; + } + } + if ( ($att eq "DisableLanguageExtensions") && $CompilerSection ) { + #$configelements{$config}{$att} = $val; + if ( ($file_tmp ne "") && ($val ne "")) { + $files{ $file_tmp } = 1; # save it now + $file_tmp =~ s/^\.\\//; # remove leading .\ + $files_special{"DisableLanguageExtensions"}{$file_tmp} = $val; + print "-Ze: $file_tmp\n" if ($is_debug); + $file_tmp = ""; # has been saved now reset it + } + } + if ( $att eq "OutputDirectory" ) { + $configelements{$config}{$att} = $val; + } + if ( $att eq "OutputFile" && $LinkerSection ) { + $configelements{$config}{$att} = $val; + } + if ( $att eq "ProgramDatabaseFile" ) { + $configelements{$config}{$att} = $val; + } + if ( $att eq "ImportLibrary" && $LinkerSection ) { + $configelements{$config}{$att} = $val; + } + if ($att eq "CommandLine") { + $configelements{$config}{$att} = $val; + } + if (($att eq "PreprocessorDefinitions") && $ConfigSection) { + $configelements{$config}{$att} = $val; + } + + # Is the file in the step before a header + # which has to be copied into the global + # include path? + if ( $file_tmp ne "" ) + { + $config = "Release"; + if ( ($att eq "CommandLine") && ($el eq "Tool") ) + { + if ( $file_tmp =~ /.+\.h$/ ) { + $files2copy{ $file_tmp } = $val; # unicode + layout header to copy + $file_tmp = ""; # has been saved now reset it + } + } + } # if $file_tmp + + # For files + if ( $att eq "RelativePath" ) { + if ( $file_tmp ) { + # no special file (include dir / compiler switch) + $files{ $file_tmp } = 1; # save it now + $file_tmp = ""; # has been saved now reset it + } + # store temporary the file name + $file_tmp = $val if ($val !~ /\.mk$/); # no *.mk files + } + } # while @_ +} # End start_handler + +############################################################################ +sub char_handler +############################################################################ +{ +} # End char_handler diff --git a/icu/icu-mp.patch b/icu/icu-mp.patch new file mode 100644 index 000000000000..10165427692a --- /dev/null +++ b/icu/icu-mp.patch @@ -0,0 +1,24 @@ +diff -ur misc/icu/source/data/Makefile.in misc/build/icu/source/data/Makefile.in +--- misc/icu/source/data/Makefile.in Mi Jul 21 12:19:00 2010 ++++ misc/build/icu/source/data/Makefile.in Mi Jul 21 12:20:58 2010 +@@ -77,7 +77,7 @@ + MISCSRCDIR=$(SRCDATADIR)/misc + UCMSRCDIR=$(SRCDATADIR)/mappings + COMINCDIR=$(top_srcdir)/common/unicode +-SRCLISTDEPS=Makefile $(srcdir)/Makefile.in ++SRCLISTDEPS=Makefile $(srcdir)/Makefile.in build-dir + BUILD_DIRS=$(OUTDIR) $(MAINBUILDDIR) $(BUILDDIR) $(BRKBLDDIR) $(COLBLDDIR) $(RBNFBLDDIR) $(TRANSLITBLDDIR) $(OUTTMPDIR) $(OUTTMPDIR_390STUB) $(OUTTMPDIR)/$(COLLATION_TREE) $(OUTTMPDIR)/$(RBNF_TREE) $(OUTTMPDIR)/$(TRANSLIT_TREE) $(OUTTMPDIR)/$(BREAK_TREE) + + # relative lib links from pkgdata are the same as for tmp +diff -ru misc/icu/source/data/Makefile.in misc/build/icu//source/data/Makefile.in +--- misc/icu/source/data/Makefile.in Do Jan 15 08:46:48 2009 ++++ misc/build/icu//source/data/Makefile.in Mi Jul 21 11:37:49 2010 +@@ -132,7 +132,7 @@ + # and convert it to the current type. + ifneq ($(ICUDATA_ARCHIVE),) + ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat +-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR) ++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) build-dir + $(INVOKE) $(BINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE) + endif + else diff --git a/icu/icu4c-4_4_2-wchar_t.patch b/icu/icu4c-4_4_2-wchar_t.patch new file mode 100644 index 000000000000..de34c4ee1bb6 --- /dev/null +++ b/icu/icu4c-4_4_2-wchar_t.patch @@ -0,0 +1,2553 @@ +--- misc/icu/source/common/common.vcproj 2010-09-29 20:37:20.000000000 +0200 ++++ misc/build/icu/source/common/common.vcproj 2011-03-15 10:44:59.823402944 +0100 +@@ -53,8 +53,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/common.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -144,8 +144,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/common.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -237,8 +237,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/common.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -327,8 +327,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/common.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/extra/uconv/uconv.vcproj 2010-09-29 20:37:14.000000000 +0200 ++++ misc/build/icu/source/extra/uconv/uconv.vcproj 2011-03-15 10:44:59.842405231 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/uconv.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -143,8 +143,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/uconv.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -237,8 +237,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/uconv.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -331,8 +331,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/uconv.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/i18n/i18n.vcproj 2010-09-29 20:37:10.000000000 +0200 ++++ misc/build/icu/source/i18n/i18n.vcproj 2011-03-15 10:44:59.818402341 +0100 +@@ -54,8 +54,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/i18n.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -148,8 +148,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/i18n.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -244,8 +244,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/i18n.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -337,8 +337,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/i18n.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/io/io.vcproj 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/io/io.vcproj 2011-03-15 10:44:59.813401741 +0100 +@@ -54,8 +54,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/icuio.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -148,8 +148,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/icuio.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -244,8 +244,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/icuio.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -340,8 +340,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/icuio.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/layout/layout.vcproj 2010-09-29 20:38:38.000000000 +0200 ++++ misc/build/icu/source/layout/layout.vcproj 2011-03-15 10:44:59.838404750 +0100 +@@ -55,8 +55,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/layout.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -151,8 +151,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/layout.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -245,8 +245,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/layout.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -343,8 +343,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/layout.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/layoutex/layoutex.vcproj 2010-09-29 20:38:36.000000000 +0200 ++++ misc/build/icu/source/layoutex/layoutex.vcproj 2011-03-15 10:44:59.839404871 +0100 +@@ -55,8 +55,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/layoutex.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -148,8 +148,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/layoutex.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -243,8 +243,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/layoutex.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -338,8 +338,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/layoutex.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/samples/break/break.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/break/break.vcproj 2011-03-15 10:43:34.493128191 +0100 +@@ -55,7 +55,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/break.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -148,7 +148,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/break.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -241,7 +241,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/break.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -335,7 +335,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/break.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/cal/cal.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/cal/cal.vcproj 2011-03-15 10:43:34.497128671 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/cal.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/cal.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/cal.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -322,7 +322,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/cal.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/case/case.vcproj 2010-09-29 20:37:34.000000000 +0200 ++++ misc/build/icu/source/samples/case/case.vcproj 2011-03-15 10:43:34.504129515 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/case.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/case.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/case.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/case.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/citer/citer.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/citer/citer.vcproj 2011-03-15 10:43:34.494128311 +0100 +@@ -49,7 +49,7 @@ + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -131,7 +131,7 @@ + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -209,7 +209,7 @@ + AdditionalIncludeDirectories="..\..\..\include" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + RuntimeLibrary="0" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -289,7 +289,7 @@ + AdditionalIncludeDirectories="..\..\..\include" + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + RuntimeLibrary="0" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +--- misc/icu/source/samples/coll/coll.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/coll/coll.vcproj 2011-03-15 10:43:34.500129033 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/coll.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/coll.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/coll.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -322,7 +322,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/coll.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/csdet/csdet.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/csdet/csdet.vcproj 2011-03-15 10:43:34.495128431 +0100 +@@ -49,7 +49,7 @@ + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -131,7 +131,7 @@ + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -209,7 +209,7 @@ + AdditionalIncludeDirectories="../../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + RuntimeLibrary="0" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +@@ -289,7 +289,7 @@ + AdditionalIncludeDirectories="../../../include" + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + RuntimeLibrary="0" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" +--- misc/icu/source/samples/date/date.vcproj 2010-09-29 20:37:34.000000000 +0200 ++++ misc/build/icu/source/samples/date/date.vcproj 2011-03-15 10:43:34.499128912 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/date.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/date.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/date.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/date.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/datefmt/datefmt.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/datefmt/datefmt.vcproj 2011-03-15 10:43:34.494128311 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/datefmt.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/datefmt.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/datefmt.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/datefmt.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/layout/layout.vcproj 2010-09-29 20:37:34.000000000 +0200 ++++ misc/build/icu/source/samples/layout/layout.vcproj 2011-03-15 10:43:34.498128791 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/layout.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -140,7 +140,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/layout.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -228,7 +228,7 @@ + PreprocessorDefinitions="_DEBUG;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/layout.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -318,7 +318,7 @@ + PreprocessorDefinitions="_DEBUG;WIN64;WIN32;UNICODE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/layout.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/legacy/legacy.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/legacy/legacy.vcproj 2011-03-15 10:43:34.503129395 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/legacy.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/legacy.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/legacy.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/legacy.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/msgfmt/msgfmt.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/msgfmt/msgfmt.vcproj 2011-03-15 10:43:34.499128912 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/msgfmt.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/msgfmt.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/msgfmt.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/msgfmt.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/numfmt/numfmt.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/numfmt/numfmt.vcproj 2011-03-15 10:43:34.500129033 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/numfmt.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/numfmt.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/numfmt.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/numfmt.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/props/props.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/props/props.vcproj 2011-03-15 10:43:34.495128431 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/props.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/props.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/props.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/props.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/strsrch/strsrch.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/strsrch/strsrch.vcproj 2011-03-15 10:43:34.505129635 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/strsrch.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -142,7 +142,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/strsrch.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -235,7 +235,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/strsrch.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -325,7 +325,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/strsrch.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/translit/translit.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/translit/translit.vcproj 2011-03-15 10:43:34.505129635 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/translit.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/translit.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/translit.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/translit.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/uciter8/uciter8.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/uciter8/uciter8.vcproj 2011-03-15 10:43:34.502129275 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/uciter8.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/uciter8.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/uciter8.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/uciter8.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/ucnv/ucnv.vcproj 2010-09-29 20:37:34.000000000 +0200 ++++ misc/build/icu/source/samples/ucnv/ucnv.vcproj 2011-03-15 10:43:34.496128551 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/ucnv.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/ucnv.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/ucnv.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/ucnv.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/udata/reader.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/udata/reader.vcproj 2011-03-15 10:43:34.497128671 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\reader_Win32_Debug/reader.pch" + AssemblerListingLocation=".\reader_Win32_Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\reader_Win32_Debug/reader.pch" + AssemblerListingLocation=".\reader_Win32_Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\reader_Win32_Release/reader.pch" + AssemblerListingLocation=".\reader_Win32_Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\reader_Win32_Release/reader.pch" + AssemblerListingLocation=".\reader_Win32_Release/" +--- misc/icu/source/samples/udata/writer.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/udata/writer.vcproj 2011-03-15 10:43:34.498128791 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/writer.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -141,7 +141,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/writer.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/writer.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -323,7 +323,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/writer.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/samples/ufortune/ufortune.vcproj 2010-09-29 20:37:32.000000000 +0200 ++++ misc/build/icu/source/samples/ufortune/ufortune.vcproj 2011-03-15 10:43:34.503129395 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/ufortune.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -140,7 +140,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/ufortune.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -231,7 +231,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/ufortune.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -320,7 +320,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/ufortune.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/samples/ugrep/ugrep.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/ugrep/ugrep.vcproj 2011-03-15 10:43:34.501129154 +0100 +@@ -53,7 +53,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/ugrep.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -147,7 +147,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/ugrep.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -238,7 +238,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/ugrep.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -330,7 +330,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/ugrep.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/uresb/uresb.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/uresb/uresb.vcproj 2011-03-15 10:43:34.502129275 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/uresb.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/uresb.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/uresb.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/uresb.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/samples/ustring/ustring.vcproj 2010-09-29 20:37:30.000000000 +0200 ++++ misc/build/icu/source/samples/ustring/ustring.vcproj 2011-03-15 10:43:34.504129515 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/ustring.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -141,7 +141,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/ustring.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -230,7 +230,7 @@ + PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/ustring.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -321,7 +321,7 @@ + PreprocessorDefinitions="WIN64;WIN32,_DEBUG,_CONSOLE" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/ustring.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/stubdata/stubdata.vcproj 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/stubdata/stubdata.vcproj 2011-03-15 10:44:59.843405351 +0100 +@@ -55,8 +55,8 @@ + ExceptionHandling="0" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release\stubdata.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -153,8 +153,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/stubdata.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -250,8 +250,8 @@ + ExceptionHandling="0" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release\stubdata.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -350,8 +350,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/stubdata.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/test/cintltst/cintltst.vcproj 2010-09-29 20:36:50.000000000 +0200 ++++ misc/build/icu/source/test/cintltst/cintltst.vcproj 2011-03-15 10:44:59.842405231 +0100 +@@ -51,8 +51,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="1" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/cintltst.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -143,8 +143,8 @@ + RuntimeLibrary="0" + BufferSecurityCheck="true" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/cintltst.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -232,8 +232,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="1" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/cintltst.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -327,8 +327,8 @@ + RuntimeLibrary="0" + BufferSecurityCheck="true" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/cintltst.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/test/intltest/intltest.vcproj 2010-09-29 20:36:54.000000000 +0200 ++++ misc/build/icu/source/test/intltest/intltest.vcproj 2011-03-15 10:44:59.841405111 +0100 +@@ -52,8 +52,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="1" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/intltest.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -145,8 +145,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="1" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/intltest.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -234,8 +234,8 @@ + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="0" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/intltest.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -321,8 +321,8 @@ + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="0" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/intltest.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/test/iotest/iotest.vcproj 2010-09-29 20:36:58.000000000 +0200 ++++ misc/build/icu/source/test/iotest/iotest.vcproj 2011-03-15 10:44:59.839404871 +0100 +@@ -52,8 +52,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/iotest.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -142,8 +142,8 @@ + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/iotest.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -232,8 +232,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/iotest.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -324,8 +324,8 @@ + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/iotest.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/test/letest/gendata.vcproj 2010-09-29 20:36:48.000000000 +0200 ++++ misc/build/icu/source/test/letest/gendata.vcproj 2011-03-15 10:43:34.507129876 +0100 +@@ -50,7 +50,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/gendata.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -140,7 +140,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CONSOLE;LE_USE_CMEMORY;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/gendata.pch" + AssemblerListingLocation=".\x64\Debug/" +@@ -231,7 +231,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/gendata.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -320,7 +320,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/gendata.pch" + AssemblerListingLocation=".\x64\Release/" +--- misc/icu/source/test/letest/letest.vcproj 2010-09-29 20:36:48.000000000 +0200 ++++ misc/build/icu/source/test/letest/letest.vcproj 2011-03-15 10:43:34.508129997 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Release/letest.pch" + AssemblerListingLocation=".\x86\Release/" +@@ -137,7 +137,7 @@ + PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/letest.pch" + AssemblerListingLocation=".\x86\Debug/" +@@ -229,7 +229,7 @@ + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Release/letest.pch" + AssemblerListingLocation=".\x64\Release/" +@@ -318,7 +318,7 @@ + PreprocessorDefinitions="WIN64;WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x64\Debug/letest.pch" + AssemblerListingLocation=".\x64\Debug/" +--- misc/icu/source/tools/ctestfw/ctestfw.vcproj 2010-09-29 20:37:22.000000000 +0200 ++++ misc/build/icu/source/tools/ctestfw/ctestfw.vcproj 2011-03-15 10:44:59.828403544 +0100 +@@ -55,8 +55,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/icutest.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -148,8 +148,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/icutest.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -243,8 +243,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/icutest.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -338,8 +338,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/icutest.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genbidi/genbidi.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/genbidi/genbidi.vcproj 2011-03-15 10:44:59.827403424 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genbidi.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genbidi.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genbidi.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genbidi.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genbrk/genbrk.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/genbrk/genbrk.vcproj 2011-03-15 10:44:59.831403907 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genbrk.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genbrk.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genbrk.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genbrk.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gencase/gencase.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/gencase/gencase.vcproj 2011-03-15 10:44:59.830403786 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gencase.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gencase.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gencase.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gencase.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genccode/genccode.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/genccode/genccode.vcproj 2011-03-15 10:43:34.489127708 +0100 +@@ -52,7 +52,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genccode.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -140,7 +140,7 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genccode.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -232,7 +232,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genccode.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -323,7 +323,7 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- TreatWChar_tAsBuiltInType="true" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genccode.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gencfu/gencfu.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/gencfu/gencfu.vcproj 2011-03-15 10:44:59.826403304 +0100 +@@ -52,7 +52,7 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + UsePrecompiledHeader="0" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -137,8 +137,8 @@ + MinimalRebuild="false" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + UsePrecompiledHeader="0" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -224,8 +224,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gencfu.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -316,8 +316,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gencfu.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gencmn/gencmn.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/gencmn/gencmn.vcproj 2011-03-15 10:44:59.832404028 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gencmn.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gencmn.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gencmn.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gencmn.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gencnval/gencnval.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/gencnval/gencnval.vcproj 2011-03-15 10:44:59.836404508 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gencnval.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gencnval.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gencnval.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gencnval.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genctd/genctd.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/genctd/genctd.vcproj 2011-03-15 10:44:59.834404268 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genctd.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genctd.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genctd.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genctd.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gennames/gennames.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/gennames/gennames.vcproj 2011-03-15 10:44:59.836404508 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gennames.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gennames.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gennames.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gennames.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gennorm2/gennorm2.vcproj 2010-09-29 20:37:24.000000000 +0200 ++++ misc/build/icu/source/tools/gennorm2/gennorm2.vcproj 2011-03-15 10:44:59.829403665 +0100 +@@ -53,8 +53,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release\gennorm2.pch" + AssemblerListingLocation=".\x86\Release\" + ObjectFile=".\x86\Release\" +@@ -146,8 +146,8 @@ + StringPooling="true" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug\gennorm2.pch" + AssemblerListingLocation=".\x86\Debug\" + ObjectFile=".\x86\Debug\" +@@ -237,8 +237,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release\gennorm2.pch" + AssemblerListingLocation=".\x64\Release\" + ObjectFile=".\x64\Release\" +@@ -330,8 +330,8 @@ + StringPooling="true" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug\gennorm2.pch" + AssemblerListingLocation=".\x64\Debug\" + ObjectFile=".\x64\Debug\" +--- misc/icu/source/tools/genpname/genpname.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/genpname/genpname.vcproj 2011-03-15 10:44:59.835404388 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genpname.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genpname.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genpname.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genpname.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genprops/genprops.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/genprops/genprops.vcproj 2011-03-15 10:44:59.832404028 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genprops.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genprops.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -234,8 +234,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genprops.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -326,8 +326,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genprops.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genrb/derb.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/genrb/derb.vcproj 2011-03-15 10:44:59.824403064 +0100 +@@ -56,8 +56,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release_derb/derb.pch" + AssemblerListingLocation=".\x86\Release_derb/" + ObjectFile=".\x86\Release_derb/" +@@ -149,8 +149,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug_derb/derb.pch" + AssemblerListingLocation=".\x86\Debug_derb/" + ObjectFile=".\x86\Debug_derb/" +@@ -244,8 +244,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release_derb/derb.pch" + AssemblerListingLocation=".\x64\Release_derb/" + ObjectFile=".\x64\Release_derb/" +@@ -339,8 +339,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug_derb/derb.pch" + AssemblerListingLocation=".\x64\Debug_derb/" + ObjectFile=".\x64\Debug_derb/" +--- misc/icu/source/tools/genrb/genrb.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/genrb/genrb.vcproj 2011-03-15 10:44:59.824403064 +0100 +@@ -51,8 +51,8 @@ + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genrb.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -140,8 +140,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genrb.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -232,8 +232,8 @@ + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genrb.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -324,8 +324,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genrb.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gensprep/gensprep.vcproj 2010-09-29 20:37:22.000000000 +0200 ++++ misc/build/icu/source/tools/gensprep/gensprep.vcproj 2011-03-15 10:44:59.827403424 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gensprep.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -141,8 +141,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gensprep.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -233,8 +233,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gensprep.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -325,8 +325,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gensprep.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/gentest/gentest.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/gentest/gentest.vcproj 2011-03-15 10:44:59.828403544 +0100 +@@ -51,8 +51,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/gentest.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -138,8 +138,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/gentest.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -229,8 +229,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/gentest.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -319,8 +319,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/gentest.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/genuca/genuca.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/genuca/genuca.vcproj 2011-03-15 10:44:59.833404148 +0100 +@@ -53,8 +53,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/genuca.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -145,8 +145,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/genuca.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -235,8 +235,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/genuca.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -330,8 +330,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/genuca.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/tools/icuinfo/icuinfo.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/icuinfo/icuinfo.vcproj 2011-03-15 10:44:59.826403304 +0100 +@@ -53,8 +53,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="x86\Release/icuinfo.pch" + AssemblerListingLocation="x86\Release/" + ObjectFile="x86\Release/" +@@ -140,8 +140,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="Debug/icuinfo.pch" + AssemblerListingLocation="Debug/" + ObjectFile="Debug/" +@@ -231,8 +231,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="x64\Release/icuinfo.pch" + AssemblerListingLocation="x64\Release/" + ObjectFile="x64\Release/" +@@ -318,8 +318,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="Debug/icuinfo.pch" + AssemblerListingLocation="Debug/" + ObjectFile="Debug/" +--- misc/icu/source/tools/icuinfo/testplug.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/icuinfo/testplug.vcproj 2011-03-15 10:44:59.825403184 +0100 +@@ -55,8 +55,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/testplug.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -148,8 +148,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/testplug.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -243,8 +243,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/testplug.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -335,8 +335,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/testplug.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/icupkg/icupkg.vcproj 2010-09-29 20:37:22.000000000 +0200 ++++ misc/build/icu/source/tools/icupkg/icupkg.vcproj 2011-03-15 10:44:59.829403665 +0100 +@@ -52,8 +52,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="x86\Release/icupkg.pch" + AssemblerListingLocation="x86\Release/" + ObjectFile="x86\Release/" +@@ -139,8 +139,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="Debug/icupkg.pch" + AssemblerListingLocation="Debug/" + ObjectFile="Debug/" +@@ -230,8 +230,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="x64\Release/icupkg.pch" + AssemblerListingLocation="x64\Release/" + ObjectFile="x64\Release/" +@@ -320,8 +320,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile="Debug/icupkg.pch" + AssemblerListingLocation="Debug/" + ObjectFile="Debug/" +--- misc/icu/source/tools/icuswap/icuswap.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/icuswap/icuswap.vcproj 2011-03-15 10:44:59.831403907 +0100 +@@ -51,7 +51,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + PrecompiledHeaderFile=".\x86\Release/icuswap.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -140,7 +140,7 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + PrecompiledHeaderFile=".\x86\Debug/icuswap.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -233,7 +233,7 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + PrecompiledHeaderFile=".\x64\Release/icuswap.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -324,7 +324,7 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + PrecompiledHeaderFile=".\x64\Debug/icuswap.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/makeconv/makeconv.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/makeconv/makeconv.vcproj 2011-03-15 10:44:59.835404388 +0100 +@@ -53,8 +53,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/makeconv.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -144,8 +144,8 @@ + PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE=1" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/makeconv.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -234,8 +234,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/makeconv.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -328,8 +328,8 @@ + PreprocessorDefinitions="WIN64;WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE=1" + StringPooling="true" + RuntimeLibrary="2" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/makeconv.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/tools/pkgdata/pkgdata.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/pkgdata/pkgdata.vcproj 2011-03-15 10:44:59.823402944 +0100 +@@ -53,8 +53,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/pkgdata.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -145,8 +145,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/pkgdata.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -235,8 +235,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/pkgdata.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +@@ -330,8 +330,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/pkgdata.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +--- misc/icu/source/tools/toolutil/toolutil.vcproj 2010-09-29 20:37:28.000000000 +0200 ++++ misc/build/icu/source/tools/toolutil/toolutil.vcproj 2011-03-15 10:44:59.834404268 +0100 +@@ -55,8 +55,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Release/toolutil.pch" + AssemblerListingLocation=".\x86\Release/" + ObjectFile=".\x86\Release/" +@@ -150,8 +150,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x86\Debug/toolutil.pch" + AssemblerListingLocation=".\x86\Debug/" + ObjectFile=".\x86\Debug/" +@@ -246,8 +246,8 @@ + StringPooling="true" + RuntimeLibrary="2" + EnableFunctionLevelLinking="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Release/toolutil.pch" + AssemblerListingLocation=".\x64\Release/" + ObjectFile=".\x64\Release/" +@@ -343,8 +343,8 @@ + BasicRuntimeChecks="3" + RuntimeLibrary="3" + BufferSecurityCheck="true" +- DisableLanguageExtensions="true" +- TreatWChar_tAsBuiltInType="true" ++ DisableLanguageExtensions="false" ++ TreatWChar_tAsBuiltInType="false" + PrecompiledHeaderFile=".\x64\Debug/toolutil.pch" + AssemblerListingLocation=".\x64\Debug/" + ObjectFile=".\x64\Debug/" +--- misc/icu/source/tools/tzcode/icuzdump.vcproj 2010-09-29 20:37:26.000000000 +0200 ++++ misc/build/icu/source/tools/tzcode/icuzdump.vcproj 2011-03-15 10:44:59.825403184 +0100 +@@ -48,7 +48,7 @@ + MinimalRebuild="false" + BasicRuntimeChecks="3" + RuntimeLibrary="3" +- DisableLanguageExtensions="true" ++ DisableLanguageExtensions="false" + UsePrecompiledHeader="0" + PrecompiledHeaderFile=".\x86\Debug/icuzdump.pch" + AssemblerListingLocation=".\x86\Debug/" diff --git a/icu/icu4c-aix.patch b/icu/icu4c-aix.patch new file mode 100644 index 000000000000..aedaae12adbd --- /dev/null +++ b/icu/icu4c-aix.patch @@ -0,0 +1,113 @@ +--- misc/icu/source/config/mh-aix-gcc 2009-01-15 01:46:10.000000000 -0600 ++++ misc/build/icu/source/config/mh-aix-gcc 2010-06-24 20:58:16.000000000 -0500 +@@ -1,10 +1,7 @@ + ## -*-makefile-*- +-## Copyright (c) 2003-2009 IBM, Ken Foskey, and others. All rights reserved. +-## +-## Aix-specific setup (for gcc) +-## +-## Please note: AIX does NOT have library versioning per se (there is no 'SONAME' capability). +-## So, we are using 'windows' style library names, that is, libicuuc20.1.so instead of libicuuc.so.20.1 ++## Linux-specific setup ++## Copyright (c) 1999-2006, International Business Machines Corporation and ++## others. All Rights Reserved. + + # Certain files don't compile in -ansi mode (e.g. umutex.c, toolutil.c, and cdatatst.c) + CFLAGS += -D_ALL_SOURCE +@@ -13,84 +10,30 @@ + GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) + GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) + +-## Commands to link +-## We need to use the C++ linker, even when linking C programs, since +-## our libraries contain C++ code (C++ static init not called) +-LINK.c= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) +-LINK.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) +- +-## Shared library options +-LD_SOOPTIONS= -Wl,-bsymbolic +- +-## Commands to make a shared library +-SHLIB.c= $(AIX_PREDELETE) $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS) +-SHLIB.cc= $(AIX_PREDELETE) $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-bexpall $(LD_SOOPTIONS) ++## Flags for position independent code ++SHAREDLIBCFLAGS = -fPIC ++SHAREDLIBCXXFLAGS = -fPIC ++SHAREDLIBCPPFLAGS = -DPIC ++ ++## Additional flags when building libraries and with threads ++THREADSCPPFLAGS = -D_REENTRANT -D_THREAD_SAFE ++LIBCPPFLAGS = + + ## Compiler switch to embed a runtime search path +-LD_RPATH= -I +-LD_RPATH_PRE= +- +-## enable the shared lib loader +-LDFLAGS += -Wl,-bbigtoc ++LD_RPATH= ++LD_RPATH_PRE= + + ## These are the library specific LDFLAGS + LDFLAGSICUDT=-nodefaultlibs -nostdlib + +-## We need to delete things prior to linking, or else we'll get +-## SEVERE ERROR: output file in use .. on AIX. +-## But, shell script version should NOT delete target as we don't +-## have $@ in that context. (SH = only shell script, icu-config) +-AIX_PREDELETE=rm -f $@ ; +-#SH# AIX_PREDELETE= +- + ## Environment variable to set a runtime search path + LDLIBRARYPATH_ENVVAR = LIBPATH + +-## Override Versioned target for a shared library. +-FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) +-MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) +-SHARED_OBJECT = $(notdir $(FINAL_SO_TARGET:.$(SO)=.$(SOBJ))) +-SHARED_OBJECT_NO_VERSION = $(basename $(SO_TARGET)).$(SOBJ) +- +-# The following is for Makefile.inc's use. +-ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR) +- +-# this one is for icudefs.mk's use +-ifeq ($(ENABLE_SHARED),YES) +-SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) +-endif +- +-## Compiler switch to embed a library name. Not present on AIX. +-LD_SONAME = +- +-## The type of assembly needed when pkgdata is used for generating shared libraries. +-GENCCODE_ASSEMBLY=-a xlc +- + ## Shared object suffix +-SOBJ= so +-# without the -brtl option, the library names use .a. AIX is funny that way. +-SO= a +-A= a ++SO = so + + ## Non-shared intermediate object suffix +-STATIC_O = o +- +-## Special AIX rules +- +-## Build archive from shared object +-%.a : %.so +- ln -f $< $(SHARED_OBJECT_NO_VERSION) +- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) +- rm -f $(SHARED_OBJECT_NO_VERSION) +-$(LIBDIR)/%.a : %.so +- ln -f $< $(SHARED_OBJECT_NO_VERSION) +- $(AR) $(ARFLAGS) $@ $(SHARED_OBJECT_NO_VERSION) +- rm -f $(SHARED_OBJECT_NO_VERSION) +- +-## Build import list from export list +-%.e : %.exp +- @echo "Building an import list for $<" +- @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@" ++STATIC_O = ao + + ## Compilation rules + %.$(STATIC_O): $(srcdir)/%.c diff --git a/icu/icu4c-build.patch b/icu/icu4c-build.patch new file mode 100644 index 000000000000..3a09610682ee --- /dev/null +++ b/icu/icu4c-build.patch @@ -0,0 +1,212 @@ +--- misc/icu/source/config.sub ++++ misc/build/icu/source/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/icu/source/configure ++++ misc/build/icu/source/configure +@@ -5438,7 +5438,7 @@ + else + icu_cv_host_frag=mh-linux-va + fi ;; +-*-*-linux*|*-pc-gnu) icu_cv_host_frag=mh-linux ;; ++*-*-linux*|*-pc-gnu|*-*-androideabi*) icu_cv_host_frag=mh-linux ;; + *-*-cygwin|*-*-mingw32) + if test "$GCC" = yes; then + cat >conftest.$ac_ext <<_ACEOF +@@ -7429,6 +7429,9 @@ + # Check to see if genccode can generate simple assembly. + GENCCODE_ASSEMBLY= + case "${host}" in ++*-linux-androideabi) ++ GENCCODE_ASSEMBLY="-a gcc-android" ++ ;; + *-linux*|i*86-*-*bsd*|i*86-pc-gnu) + if test "$GCC" = yes; then + # We're using gcc, and the simple -a gcc command line works for genccode +@@ -11115,6 +1115,10 @@ + # wchar_t can be used + CHECK_UTF16_STRING_RESULT="available" + ;; ++*-*-androideabi*) ++ # no UTF-16 strings thanks, I think, this is to avoid the -std=c++0x which causes trouble with uint64_t ++ CHECK_UTF16_STRING_RESULT="nope" ++ ;; + *) + ;; + esac +--- misc/icu/source/tools/toolutil/pkg_genc.c ++++ misc/build/icu/source/tools/toolutil/pkg_genc.c +@@ -145,6 +145,28 @@ + + ".long ","",HEX_0X + }, ++ {"gcc-android", ++ "\t.arch armv5te\n" ++ "\t.fpu softvfp\n" ++ "\t.eabi_attribute 20, 1\n" ++ "\t.eabi_attribute 21, 1\n" ++ "\t.eabi_attribute 23, 3\n" ++ "\t.eabi_attribute 24, 1\n" ++ "\t.eabi_attribute 25, 1\n" ++ "\t.eabi_attribute 26, 2\n" ++ "\t.eabi_attribute 30, 6\n" ++ "\t.eabi_attribute 18, 4\n" ++ "\t.file \"%s.s\"\n" ++ "\t.global %s\n" ++ "\t.section .rodata\n" ++ "\t.align 2\n" ++ "\t.type %s, %%object\n" ++ "%s:\n", ++ ++ "\t.word ", ++ "\t.section .note.GNU-stack,\"\",%%progbits\n", ++ HEX_0X ++ }, + {"sun", + "\t.section \".rodata\"\n" + "\t.align 8\n" +--- misc/icu/source/tools/pkgdata/pkgdata.cpp ++++ misc/build/icu/source/tools/pkgdata/pkgdata.cpp +@@ -97,7 +97,7 @@ + #endif + + #define LARGE_BUFFER_MAX_SIZE 2048 +-#define SMALL_BUFFER_MAX_SIZE 512 ++#define SMALL_BUFFER_MAX_SIZE 2048 + + static void loadLists(UPKGOptions *o, UErrorCode *status); + +--- misc/icu/source/common/putil.c 2010-09-29 20:37:22.000000000 +0200 ++++ misc/build/icu/source/common/putil.c 2011-03-15 10:58:44.054592942 +0100 +@@ -52,7 +52,7 @@ + Poorly upgraded Solaris machines can't have this defined. + Cleanly installed Solaris can use this #define. + */ +-#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ >= 199901L) ++#if !defined(_XOPEN_SOURCE_EXTENDED) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) + #define _XOPEN_SOURCE_EXTENDED 1 + #endif + +--- misc/icu/source/common/stringpiece.cpp 2010-09-29 20:37:20.000000000 +0200 ++++ misc/build/icu/source/common/stringpiece.cpp 2011-03-15 10:57:24.722045561 +0100 +@@ -71,7 +71,7 @@ + * Visual Studios 9.0. + * Cygwin with MSVC 9.0 also complains here about redefinition. + */ +-#if (!defined(_MSC_VER) || (_MSC_VER >= 1500)) && !defined(CYGWINMSVC) ++#if (!defined(_MSC_VER) && !defined(CYGWINMSVC)) + const int32_t StringPiece::npos; + #endif + +--- misc/icu/source/config/mh-darwin 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-darwin 2011-03-15 10:56:26.653056004 +0100 +@@ -25,7 +25,7 @@ + SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS) + + ## Compiler switches to embed a library name and version information +-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) ++LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name @executable_path/$(notdir $(MIDDLE_SO_TARGET)) + + ## Compiler switch to embed a runtime search path + LD_RPATH= +@@ -41,10 +41,6 @@ + ## Non-shared intermediate object suffix + STATIC_O = ao + +-## Override Versioned target for a shared library. +-FINAL_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION).$(SO) +-MIDDLE_SO_TARGET= $(basename $(SO_TARGET)).$(SO_TARGET_VERSION_MAJOR).$(SO) +- + ## Compilation rules + %.$(STATIC_O): $(srcdir)/%.c + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< +@@ -76,16 +72,10 @@ + + ## Versioned libraries rules + +-%.$(SO_TARGET_VERSION_MAJOR).$(SO): %.$(SO_TARGET_VERSION).$(SO) ++%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) + $(RM) $@ && ln -s ${<F} $@ +-%.$(SO): %.$(SO_TARGET_VERSION_MAJOR).$(SO) +- $(RM) $@ && ln -s ${*F}.$(SO_TARGET_VERSION).$(SO) $@ +- +-# tzcode option +-TZORIG_EXTRA_CFLAGS=-DSTD_INSPIRED +- +-# genren opts +-GENREN_PL_OPTS=-x Mach-O -n '-g' -p '| c++filt' ++%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) ++ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ + + ## Remove shared library 's' + STATIC_PREFIX_WHEN_USED = +--- misc/icu/source/config/mh-linux 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-linux 2011-03-15 10:56:26.653056004 +0100 +@@ -20,6 +20,11 @@ + LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN + LD_RPATH_PRE = -Wl,-rpath, + ++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH ++## (incl. the C++ runtime libs potentially found in the URE lib dir): ++ENABLE_RPATH=YES ++RPATHLDFLAGS=${LD_RPATH_PRE}'$$ORIGIN:$$ORIGIN/../ure-link/lib' ++ + ## These are the library specific LDFLAGS + LDFLAGSICUDT=-nodefaultlibs -nostdlib + +--- misc/icu/source/config/mh-solaris 2010-09-29 20:37:36.000000000 +0200 ++++ misc/build/icu/source/config/mh-solaris 2011-03-15 11:01:04.370475053 +0100 +@@ -36,17 +36,21 @@ + + ## Commands to link + ## For Sun Workshop, use CC to link to bring in C++ runtime +-LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) +-LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) ++LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath ++LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -norunpath + + ## Commands to make a shared library + SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -G +-SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G ++SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G -norunpath + + ## Compiler switch to embed a runtime search path + LD_RPATH= -R'$$'ORIGIN + LD_RPATH_PRE= -R + ++## Force RPATH=$ORIGIN to locate own dependencies w/o need for LD_LIBRARY_PATH ++ENABLE_RPATH=YES ++RPATHLDFLAGS=${LD_RPATH}'$$ORIGIN' ++ + #LIBRARY_PATH_PREFIX=/usr/lib/lwp: + + ## Compiler switch to embed a library name +--- misc/icu/source/layout/ArabicShaping.cpp 2010-09-29 20:38:38.000000000 +0200 ++++ misc/build/icu/source/layout/ArabicShaping.cpp 2011-03-15 10:56:26.655056238 +0100 +@@ -79,7 +79,6 @@ + #define markFeatureMask 0x00040000UL + #define mkmkFeatureMask 0x00020000UL + +-#define NO_FEATURES 0 + #define ISOL_FEATURES (isolFeatureMask | ligaFeatureMask | msetFeatureMask | markFeatureMask | ccmpFeatureMask | rligFeatureMask | caltFeatureMask | dligFeatureMask | cswhFeatureMask | cursFeatureMask | kernFeatureMask | mkmkFeatureMask) + + #define SHAPE_MASK 0xF0000000UL +@@ -174,11 +173,7 @@ + LEUnicode c = chars[in]; + ShapeType t = getShapeType(c); + +- if (t == ST_NOSHAPE_NONE) { +- glyphStorage.setAuxData(out, NO_FEATURES, success); +- } else { + glyphStorage.setAuxData(out, ISOL_FEATURES, success); +- } + + if ((t & MASK_TRANSPARENT) != 0) { + continue; diff --git a/icu/icu4c-escapespace.patch b/icu/icu4c-escapespace.patch new file mode 100644 index 000000000000..89c191ae0af6 --- /dev/null +++ b/icu/icu4c-escapespace.patch @@ -0,0 +1,11 @@ +--- misc/icu/source/tools/icuinfo/Makefile.in 2011-03-15 21:41:25.647780036 +0000 ++++ misc/build/icu/source/tools/icuinfo/Makefile.in 2011-03-15 21:41:25.647780036 +0000 +@@ -36,7 +36,7 @@ + + ICUINFO_OPTS=-i ../../data/out/build/$(ICUDATA_PLATFORM_NAME) + +-CPPFLAGS+= -DU_PLATFORM=\"@platform@\" -DU_BUILD=\"@build@\" -DU_HOST=\"@host@\" -DU_CC=\"@CC@\" -DU_CXX=\"@CXX@\" ++CPPFLAGS+= -DU_PLATFORM="\"@platform@\"" -DU_BUILD="\"@build@\"" -DU_HOST="\"@host@\"" -DU_CC="\"@CC@\"" -DU_CXX="\"@CXX@\"" + # -DENABLE_RELEASE=@ENABLE_RELEASE@ -DENABLE_DEBUG=@ENABLE_DEBUG@ " + + diff --git a/icu/icu4c-rpath.patch b/icu/icu4c-rpath.patch new file mode 100644 index 000000000000..5094a05ae56c --- /dev/null +++ b/icu/icu4c-rpath.patch @@ -0,0 +1,21 @@ +--- misc/icu/source/data/pkgdataMakefile.in 2010-12-22 23:44:02.000000000 +0100 ++++ misc/build/icu/source/data/pkgdataMakefile.in 2011-01-03 17:52:44.000000000 +0100 +@@ -15,6 +15,9 @@ include $(top_builddir)/icudefs.mk + OUTPUTFILE=icupkg.inc + MIDDLE_SO_TARGET= + ++# escape $ with \ when passing to echo; needed to preserve $ORIGIN ++SHLIB.c.shell := $(subst $$,\$$,$(SHLIB.c)) ++ + all : clean + @echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE) + @echo SO=$(SO) >> $(OUTPUTFILE) +@@ -24,7 +27,7 @@ all : clean + @echo LIB_EXT_ORDER=$(FINAL_SO_TARGET) >> $(OUTPUTFILE) + @echo COMPILE="$(COMPILE.c)" >> $(OUTPUTFILE) + @echo LIBFLAGS="-I$(top_srcdir)/common -I$(top_builddir)/common $(SHAREDLIBCPPFLAGS) $(SHAREDLIBCFLAGS)" >> $(OUTPUTFILE) +- @echo GENLIB="$(SHLIB.c)" >> $(OUTPUTFILE) ++ @echo GENLIB="$(SHLIB.c.shell)" >> $(OUTPUTFILE) + @echo LDICUDTFLAGS=$(LDFLAGSICUDT) >> $(OUTPUTFILE) + @echo LD_SONAME=$(LD_SONAME) >> $(OUTPUTFILE) + @echo RPATH_FLAGS=$(RPATH_FLAGS) >> $(OUTPUTFILE) diff --git a/icu/icu4c-warnings.patch b/icu/icu4c-warnings.patch new file mode 100644 index 000000000000..e484b59a6c69 --- /dev/null +++ b/icu/icu4c-warnings.patch @@ -0,0 +1,21 @@ +--- misc/icu/source/common/unicode/stringpiece.h ++++ misc/build/icu/source/common/unicode/stringpiece.h +@@ -140,7 +140,7 @@ + * @param len the length of the new data + * @internal + */ +- void set(const char* data, int32_t len) { ptr_ = data; length_ = len; } ++ void set(const char* data_, int32_t len) { ptr_ = data_; length_ = len; } + + /** + * Reset the stringpiece to refer to new data. +--- misc/icu/source/common/unicode/ ++++ misc/build/icu/source/common/unicode/utf16.h +@@ -316,6 +316,7 @@ + (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \ + } else /* c>0x10ffff or not enough space */ { \ + (isError)=TRUE; \ ++ (void)(isError); \ + } \ + } + diff --git a/icu/icu4c.8320.freeserif.crash.patch b/icu/icu4c.8320.freeserif.crash.patch new file mode 100644 index 000000000000..32e851c36d36 --- /dev/null +++ b/icu/icu4c.8320.freeserif.crash.patch @@ -0,0 +1,62 @@ +--- misc/icu/source/layout/LookupProcessor.h 2011-02-03 09:20:27.657005678 +0000 ++++ misc/build/icu/source/layout/LookupProcessor.h 2011-02-03 09:25:34.498396208 +0000 +@@ -65,6 +65,7 @@ + const FeatureListTable *featureListTable; + + FeatureMask *lookupSelectArray; ++ le_uint32 lookupSelectCount; + + le_uint16 *lookupOrderArray; + le_uint32 lookupOrderCount; +--- misc/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:29:54.369077099 +0000 ++++ misc/build/icu/source/layout/LookupProcessor.cpp 2011-02-02 12:31:54.215503036 +0000 +@@ -70,6 +70,10 @@ + + if (selectMask != 0) { + const LookupTable *lookupTable = lookupListTable->getLookupTable(lookup); ++ ++ if (!lookupTable) ++ continue; ++ + le_uint16 lookupFlags = SWAPW(lookupTable->lookupFlags); + + glyphIterator.reset(lookupFlags, selectMask); +@@ -111,6 +115,9 @@ + for (le_uint16 lookup = 0; lookup < lookupCount; lookup += 1) { + le_uint16 lookupListIndex = SWAPW(featureTable->lookupListIndexArray[lookup]); + ++ if (lookupListIndex >= lookupSelectCount) ++ continue; ++ + lookupSelectArray[lookupListIndex] |= featureMask; + lookupOrderArray[store++] = lookupListIndex; + } +@@ -122,7 +129,7 @@ + Offset scriptListOffset, Offset featureListOffset, Offset lookupListOffset, + LETag scriptTag, LETag languageTag, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool orderFeatures, + LEErrorCode& success) +- : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), ++ : lookupListTable(NULL), featureListTable(NULL), lookupSelectArray(NULL), lookupSelectCount(0), + lookupOrderArray(NULL), lookupOrderCount(0) + { + const ScriptListTable *scriptListTable = NULL; +@@ -170,6 +177,8 @@ + lookupSelectArray[i] = 0; + } + ++ lookupSelectCount = lookupListCount; ++ + le_int32 count, order = 0; + le_int32 featureReferences = 0; + const FeatureTable *featureTable = NULL; +@@ -186,6 +195,10 @@ + le_uint16 featureIndex = SWAPW(langSysTable->featureIndexArray[feature]); + + featureTable = featureListTable->getFeatureTable(featureIndex, &featureTag); ++ ++ if (!featureTable) ++ continue; ++ + featureReferences += SWAPW(featureTable->lookupCount); + } + diff --git a/icu/icuversion.mk b/icu/icuversion.mk new file mode 100755 index 000000000000..b0e576988c7b --- /dev/null +++ b/icu/icuversion.mk @@ -0,0 +1,33 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +# major +ICU_MAJOR*=4 +# minor +ICU_MINOR*=4 +# micro +ICU_MICRO*=2 + diff --git a/icu/makefile.mk b/icu/makefile.mk new file mode 100644 index 000000000000..42ca8386b9aa --- /dev/null +++ b/icu/makefile.mk @@ -0,0 +1,323 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +PRJ=. + +PRJNAME=icu +TARGET=so_icu + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +.INCLUDE : icuversion.mk + +TARFILE_NAME=icu4c-4_4_2-src +TARFILE_MD5=314e582264c36b3735466c522899aa07 +TARFILE_ROOTDIR=icu + +#icu4c.8320.freeserif.crash.patch, see +#http://bugs.icu-project.org/trac/ticket/8320 for crash with FreeSerif + +PATCH_FILES=\ + icu4c-build.patch \ + icu4c-rpath.patch \ + icu4c.8320.freeserif.crash.patch \ + icu4c-aix.patch \ + icu4c-4_4_2-wchar_t.patch \ + icu4c-warnings.patch \ + icu4c-escapespace.patch + +.IF "$(GUI)"=="UNX" + +.IF "$(SYSBASE)"!="" +icu_CFLAGS+=-I$(SYSBASE)$/usr$/include +.IF "$(COMNAME)"=="sunpro5" +icu_CFLAGS+=$(C_RESTRICTIONFLAGS) +.ENDIF # "$(COMNAME)"=="sunpro5" +# add SYSBASE libraries and make certain that they are found *after* the +# icu build internal libraries - in case that icu is available in SYSBASE +# as well +icu_LDFLAGS+= -L../lib -L../../lib -L../stubdata -L../../stubdata -L$(SYSBASE)$/usr$/lib +.ENDIF # "$(SYSBASE)"!="" + +.IF "$(OS)"=="MACOSX" +.IF "$(EXTRA_CFLAGS)"!="" +CPP:=gcc -E $(EXTRA_CFLAGS) +CXX:=g++ $(EXTRA_CFLAGS) +CC:=gcc $(EXTRA_CFLAGS) +.EXPORT : CPP +.ENDIF # "$(EXTRA_CFLAGS)"!="" +.ENDIF # "$(OS)"=="MACOSX" + +icu_CFLAGS+=-O $(ARCH_FLAGS) +icu_LDFLAGS+=$(EXTRA_LINKFLAGS) +icu_CXXFLAGS+=-O $(ARCH_FLAGS) + +# until someone introduces SOLARIS 64-bit builds +.IF "$(OS)"=="SOLARIS" +DISABLE_64BIT=--enable-64bit-libs=no +.ENDIF # "$(OS)"=="SOLARIS" + +.IF "$(OS)"=="AIX" +DISABLE_64BIT=--enable-64bit-libs=no +LDFLAGSADD+=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) +.ENDIF # "$(OS)"=="AIX" + +.IF "$(HAVE_LD_HASH_STYLE)" == "TRUE" +LDFLAGSADD += -Wl,--hash-style=both +.ENDIF + +.IF "$(OS)"=="IOS" +# Let's try this... +icu_CFLAGS+=-DUCONFIG_NO_FILE_IO +.ENDIF + +.IF "$(OS)"=="ANDROID" +# Problems with uint64_t on Android unless disabling strictness +DISABLE_STRICT=--disable-strict +.ENDIF + +.IF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +# Problems with uint64_t on Android unless disabling strictness +DISABLE_DYLOAD=--disable-dyload +.ENDIF + +.IF "$(HAVE_LD_BSYMBOLIC_FUNCTIONS)" == "TRUE" +LDFLAGSADD += -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new -Wl,--dynamic-list-cpp-typeinfo +.ENDIF + +CONFIGURE_DIR=source + +.IF "$(OS)"=="IOS" +STATIC_OR_SHARED=--enable-static --disable-shared +.ELSE +STATIC_OR_SHARED=--disable-static --enable-shared +.ENDIF + +.IF "$(CROSS_COMPILING)"=="YES" +# We require that the cross-build-toolset target from the top Makefile(.in) has bee built +BUILD_AND_HOST=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) --with-cross-build=$(posix_PWD)/$(INPATH_FOR_BUILD)/misc/build/icu/source +.ENDIF + +CONFIGURE_ACTION+=sh -c 'CPPFLAGS="$(EXTRA_CDEFS)" CFLAGS="$(icu_CFLAGS)" CXXFLAGS="$(icu_CXXFLAGS)" LDFLAGS="$(icu_LDFLAGS) $(LDFLAGSADD)" \ +./configure --enable-layout $(STATIC_OR_SHARED) $(BUILD_AND_HOST) $(DISABLE_64BIT) $(DISABLE_STRICT) $(DISABLE_DYLOAD) ' + +CONFIGURE_FLAGS= + +# Use of +# CONFIGURE_ACTION=sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' +# CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no +# doesn't work as it would result in +# sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' --enable-layout ... +# note the position of the single quotes. + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) -j$(EXTMAXPROCESS) +.IF "$(OS)"=="IOS" +OUT2LIB= \ + $(BUILD_DIR)$/lib$/libicudata.a \ + $(BUILD_DIR)$/lib$/libicuuc.a \ + $(BUILD_DIR)$/lib$/libicui18n.a \ + $(BUILD_DIR)$/lib$/libicule.a \ + $(BUILD_DIR)$/lib$/libicutu.a +.ELSE +OUT2LIB= \ + $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ + $(BUILD_DIR)$/lib$/libicudata$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ + $(BUILD_DIR)$/lib$/libicudata$(DLLPOST) \ + $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ + $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ + $(BUILD_DIR)$/lib$/libicuuc$(DLLPOST) \ + $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ + $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ + $(BUILD_DIR)$/lib$/libicui18n$(DLLPOST) \ + $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ + $(BUILD_DIR)$/lib$/libicule$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ + $(BUILD_DIR)$/lib$/libicule$(DLLPOST) \ + $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR).$(ICU_MICRO) \ + $(BUILD_DIR)$/lib$/libicutu$(DLLPOST).$(ICU_MAJOR)$(ICU_MINOR) \ + $(BUILD_DIR)$/lib$/libicutu$(DLLPOST) + +OUT2BIN= \ + $(BUILD_DIR)$/bin$/genccode \ + $(BUILD_DIR)$/bin$/genbrk \ + $(BUILD_DIR)$/bin$/gencmn +.ENDIF + +.ENDIF + +.IF "$(GUI)"=="WNT" +CONFIGURE_DIR=source +.IF "$(COM)"=="GCC" +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +icu_LDFLAGS+=-shared-libgcc +.ENDIF +.IF "$(USE_MINGW)"=="cygwin" +icu_LDFLAGS+=-L$(COMPATH)/lib/mingw -L$(COMPATH)/lib/w32api +.ENDIF +icu_LDFLAGS+=-L$(COMPATH)$/lib +icu_LIBS= +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +icu_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF +icu_LDFLAGS+=-Wl,--enable-runtime-pseudo-reloc-v2 +CONFIGURE_ACTION+=sh -c 'CFLAGS="-O -D_MT" CXXFLAGS="-O -D_MT" LDFLAGS="$(icu_LDFLAGS)" LIBS="$(icu_LIBS)" \ +./configure --build=i586-pc-mingw32 --enable-layout --disable-static --enable-shared --enable-64bit-libs=no' + +CONFIGURE_FLAGS= + +# Use of +# CONFIGURE_ACTION=sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' +# CONFIGURE_FLAGS=--enable-layout --enable-static --enable-shared=yes --enable-64bit-libs=no +# doesn't work as it would result in +# sh -c 'CFLAGS=-O CXXFLAGS=-O ./configure' --enable-layout ... +# note the position of the single quotes. + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_ACTION=$(GNUMAKE) +OUT2LIB= + +OUT2BIN= \ + $(BUILD_DIR)$/lib$/icudt$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \ + $(BUILD_DIR)$/lib$/icuuc$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \ + $(BUILD_DIR)$/lib$/icuin$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \ + $(BUILD_DIR)$/lib$/icule$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \ + $(BUILD_DIR)$/lib$/icutu$(ICU_MAJOR)$(ICU_MINOR)$(DLLPOST) \ + $(BUILD_DIR)$/bin$/genccode.exe \ + $(BUILD_DIR)$/bin$/genbrk.exe \ + $(BUILD_DIR)$/bin$/gencmn.exe + +.ELSE +BUILD_DIR=source +.IF "full_debug" == "" + +# Activating the debug mechanism produces incompatible libraries, you'd have +# at least to relink all modules that are directly using ICU. Note that library +# names get a 'd' appended and you'd have to edit the solenv/inc/libs.mk +# ICU*LIB macros as well. Normally you don't want all this. +# +# Instead, use the normal already existing Release build and edit the +# corresponding *.vcproj file of the section you're interested in. Make sure +# that +# - for the VCCLCompilerTool section the following line exists: +# DebugInformationFormat="3" +# - and for the VCLinkerTool the line +# GenerateDebugInformation="TRUE" +# Then delete the corresponding Release output directory, and delete the target +# flag files +# $(OUTPATH)/misc/build/so_built_so_icu +# $(OUTPATH)/misc/build/so_predeliver_so_icu +# and run dmake again, after which you may copy the resulting libraries to your +# OOo/SO installation. +ICU_BUILD_VERSION=Debug +ICU_BUILD_LIBPOST=d +.ELSE +ICU_BUILD_VERSION=Release +ICU_BUILD_LIBPOST= +.ENDIF + +.IF "$(CPU)" == "I" +ICU_BUILD_ARCH=Win32 +.ELSE +ICU_BUILD_ARCH=x64 +.ENDIF + +.IF "$(CCNUMVER)" >= "001600000000" +BUILD_ACTION=cd allinone && MSBuild.exe allinone.sln /p:Configuration=$(ICU_BUILD_VERSION) /p:Platform=$(ICU_BUILD_ARCH) +.ELSE +BUILD_ACTION=cd allinone && $(COMPATH)$/vcpackages$/vcbuild.exe allinone.sln "$(ICU_BUILD_VERSION)|$(ICU_BUILD_ARCH)" +.ENDIF + +OUT2LIB= \ + $(BUILD_DIR)$/..$/lib$/icudt.lib \ + $(BUILD_DIR)$/..$/lib$/icuin$(ICU_BUILD_LIBPOST).lib \ + $(BUILD_DIR)$/..$/lib$/icuuc$(ICU_BUILD_LIBPOST).lib \ + $(BUILD_DIR)$/..$/lib$/icule$(ICU_BUILD_LIBPOST).lib \ + $(BUILD_DIR)$/..$/lib$/icutu$(ICU_BUILD_LIBPOST).lib + +OUT2BIN= \ + $(BUILD_DIR)$/..$/bin$/icudt$(ICU_MAJOR)$(ICU_MINOR).dll \ + $(BUILD_DIR)$/..$/bin$/icuin$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ + $(BUILD_DIR)$/..$/bin$/icuuc$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ + $(BUILD_DIR)$/..$/bin$/icule$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ + $(BUILD_DIR)$/..$/bin$/icutu$(ICU_MAJOR)$(ICU_MINOR)$(ICU_BUILD_LIBPOST).dll \ + $(BUILD_DIR)$/..$/bin$/genccode.exe \ + $(BUILD_DIR)$/..$/bin$/genbrk.exe \ + $(BUILD_DIR)$/..$/bin$/gencmn.exe + +.ENDIF +.ENDIF # "$(GUI)"=="WNT" + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + +.IF "$(BINARY_PATCH_FILES)"!="" + +$(PACKAGE_DIR)$/so_add_binary : $(PACKAGE_DIR)$/$(ADD_FILES_FLAG_FILE) + cd $(PACKAGE_DIR) && gunzip -c $(BACK_PATH)$(BINARY_PATCH_FILES) | tar -xvf - + $(TOUCH) $(PACKAGE_DIR)$/so_add_binary + +$(PACKAGE_DIR)$/$(CONFIGURE_FLAG_FILE) : $(PACKAGE_DIR)$/so_add_binary + +.ENDIF + +.IF "$(GUI)$(COM)"=="WNTGCC" +ALLTAR : \ + $(LB)$/icudata.lib \ + $(LB)$/icuin$(ICU_BUILD_LIBPOST).lib \ + $(LB)$/icuuc$(ICU_BUILD_LIBPOST).lib \ + $(LB)$/icule$(ICU_BUILD_LIBPOST).lib \ + $(LB)$/icutu$(ICU_BUILD_LIBPOST).lib + +$(LB)$/icudata.lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + $(TOUCH) $@ + +$(LB)$/icuin$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + $(TOUCH) $@ + +$(LB)$/icuuc$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + $(TOUCH) $@ + +$(LB)$/icule$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + $(TOUCH) $@ + +$(LB)$/icutu$(ICU_BUILD_LIBPOST).lib : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + $(TOUCH) $@ +.ENDIF + +# Since you never know what will be in a patch (for example, it may already +# patch at configure level) or in the case of a binary patch, we remove the +# entire package directory if a patch is newer. +# Changes in this makefile could also make a complete build necessary if +# configure is affected. +$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : makefile.mk + diff --git a/icu/prj/build.lst b/icu/prj/build.lst new file mode 100644 index 000000000000..c633589000c6 --- /dev/null +++ b/icu/prj/build.lst @@ -0,0 +1,4 @@ +ic icu : solenv external NULL +ic icu usr1 - all ic_mkout NULL +ic icu nmake - u ic_icu NULL +ic icu nmake - w,vc7 ic_icu NULL diff --git a/icu/prj/d.lst b/icu/prj/d.lst new file mode 100644 index 000000000000..e13c1c167e43 --- /dev/null +++ b/icu/prj/d.lst @@ -0,0 +1,41 @@ +mkdir: %_DEST%\inc\icu +mkdir: %_DEST%\inc\external\icu +mkdir: %_DEST%\inc\external\layout +mkdir: %_DEST%\inc\external\unicode +..\%__SRC%\misc\build\icu\source\layout\*.h %_DEST%\inc\external\layout\*.h +..\%__SRC%\misc\build\icu\source\common\unicode\*.h %_DEST%\inc\external\unicode\*.h +..\%__SRC%\misc\build\icu\source\i18n\unicode\*.h %_DEST%\inc\external\unicode\*.h + +..\%__SRC%\lib\*.a %_DEST%\lib\*.a +..\%__SRC%\lib\*.lib %_DEST%\lib\*.lib +..\%__SRC%\lib\icuin.lib %_DEST%\lib\iicui18n.lib +..\%__SRC%\lib\*.lib %_DEST%\lib + +..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll + +..\%__SRC%\bin\genccode %_DEST%\bin\genccode +..\%__SRC%\bin\genccode.exe %_DEST%\bin\genccode.exe +..\%__SRC%\bin\genbrk %_DEST%\bin\genbrk +..\%__SRC%\bin\genbrk.exe %_DEST%\bin\genbrk.exe +..\%__SRC%\bin\gencmn %_DEST%\bin\gencmn +..\%__SRC%\bin\gencmn.exe %_DEST%\bin\gencmn.exe + +..\%__SRC%\lib\libicudata.*.*.* %_DEST%\lib\ +..\%__SRC%\lib\libicui18n.*.*.* %_DEST%\lib\ +..\%__SRC%\lib\libicule.*.*.* %_DEST%\lib\ +..\%__SRC%\lib\libicuuc.*.*.* %_DEST%\lib\ +..\%__SRC%\lib\libicutu.*.*.* %_DEST%\lib\ + +..\%__SRC%\lib\libicudata.a %_DEST%\lib\ +..\%__SRC%\lib\libicui18n.a %_DEST%\lib\ +..\%__SRC%\lib\libicule.a %_DEST%\lib\ +..\%__SRC%\lib\libicuuc.a %_DEST%\lib\ +..\%__SRC%\lib\libicutu.a %_DEST%\lib\ + +..\icuversion.mk %_DEST%\inc\icuversion.mk + +linklib: libicudata.*.*.* +linklib: libicui18n.*.*.* +linklib: libicule.*.*.* +linklib: libicuuc.*.*.* +linklib: libicutu.*.*.* diff --git a/jpeg/jpeg-6b.patch b/jpeg/jpeg-6b.patch new file mode 100644 index 000000000000..1180e7a63115 --- /dev/null +++ b/jpeg/jpeg-6b.patch @@ -0,0 +1,113 @@ +--- misc/jpeg-6b/jconfig.h 2009-03-19 11:30:46.000000000 +0100 ++++ misc/build/jpeg-6b/jconfig.h 2009-03-19 11:30:30.000000000 +0100 +@@ -1 +1,16 @@ +-dummy ++#define HAVE_PROTOTYPES ++#define HAVE_UNSIGNED_CHAR ++#define HAVE_UNSIGNED_SHORT ++#undef CHAR_IS_UNSIGNED ++#define HAVE_STDDEF_H ++#define HAVE_STDLIB_H ++#undef NEED_BSD_STRINGS ++#undef NEED_SYS_TYPES_H ++#undef NEED_FAR_POINTERS ++#undef NEED_SHORT_EXTERNAL_NAMES ++#undef INCOMPLETE_TYPES_BROKEN ++ ++#ifdef JPEG_INTERNALS ++#undef RIGHT_SHIFT_IS_UNSIGNED ++#define NO_GETENV ++#endif +--- misc/jpeg-6b/jmorecfg.h 1997-08-10 01:58:56.000000000 +0200 ++++ misc/build/jpeg-6b/jmorecfg.h 2009-03-19 11:30:30.000000000 +0100 +@@ -157,8 +157,8 @@ + + /* INT32 must hold at least signed 32-bit values. */ + +-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ +-typedef long INT32; ++#if !defined XMD_H && !defined _SOLAR_H /* X11/xmd.h correctly defines INT32 */ ++typedef int INT32; + #endif + + /* Datatype used for image dimensions. The JPEG standard only supports +--- misc/jpeg-6b/makefile.mk 2009-03-19 11:30:46.000000000 +0100 ++++ misc/build/jpeg-6b/makefile.mk 2009-03-19 11:30:30.000000000 +0100 +@@ -1 +1,76 @@ +-dummy ++#************************************************************************* ++# ++# Copyright according the GNU Public License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++ ++PRJNAME=jpeg ++TARGET=jpeglib ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++VISIBILITY_HIDDEN=TRUE ++ ++# --- Settings ----------------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++ ++.IF "$(GUI)$(CPU)"=="WNTP" ++CFLAGS=$(CFLAGS) -Od ++.ENDIF ++ ++# --- Files -------------------------------------------------------- ++ ++SLOFILES= $(SLO)$/jcapimin.obj \ ++ $(SLO)$/jcapistd.obj \ ++ $(SLO)$/jccoefct.obj \ ++ $(SLO)$/jccolor.obj \ ++ $(SLO)$/jcdctmgr.obj \ ++ $(SLO)$/jcinit.obj \ ++ $(SLO)$/jchuff.obj \ ++ $(SLO)$/jcphuff.obj \ ++ $(SLO)$/jcmainct.obj \ ++ $(SLO)$/jcmarker.obj \ ++ $(SLO)$/jcmaster.obj \ ++ $(SLO)$/jcomapi.obj \ ++ $(SLO)$/jcparam.obj \ ++ $(SLO)$/jcprepct.obj \ ++ $(SLO)$/jcsample.obj \ ++ $(SLO)$/jdhuff.obj \ ++ $(SLO)$/jdinput.obj \ ++ $(SLO)$/jdtrans.obj \ ++ $(SLO)$/jdapimin.obj \ ++ $(SLO)$/jdapistd.obj \ ++ $(SLO)$/jdatadst.obj \ ++ $(SLO)$/jdatasrc.obj \ ++ $(SLO)$/jdcoefct.obj \ ++ $(SLO)$/jdcolor.obj \ ++ $(SLO)$/jddctmgr.obj \ ++ $(SLO)$/jdphuff.obj \ ++ $(SLO)$/jdmainct.obj \ ++ $(SLO)$/jdmarker.obj \ ++ $(SLO)$/jdmaster.obj \ ++ $(SLO)$/jdmerge.obj \ ++ $(SLO)$/jdpostct.obj \ ++ $(SLO)$/jdsample.obj \ ++ $(SLO)$/jerror.obj \ ++ $(SLO)$/jfdctflt.obj \ ++ $(SLO)$/jfdctfst.obj \ ++ $(SLO)$/jfdctint.obj \ ++ $(SLO)$/jidctflt.obj \ ++ $(SLO)$/jidctfst.obj \ ++ $(SLO)$/jidctint.obj \ ++ $(SLO)$/jidctred.obj \ ++ $(SLO)$/jmemmgr.obj \ ++ $(SLO)$/jmemnobs.obj \ ++ $(SLO)$/jquant1.obj \ ++ $(SLO)$/jquant2.obj \ ++ $(SLO)$/jutils.obj ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.INCLUDE : target.mk diff --git a/jpeg/jpeg-8c.patch b/jpeg/jpeg-8c.patch new file mode 100644 index 000000000000..77c1ff592c7a --- /dev/null +++ b/jpeg/jpeg-8c.patch @@ -0,0 +1,174 @@ +--- misc/jpeg-8c/jconfig.h 2011-03-30 11:20:06.266329889 +0200 ++++ misc/build/jpeg-8c/jconfig.h 2011-03-30 11:02:01.926080079 +0200 +@@ -1 +1,60 @@ +-dummy ++/* jconfig.h. Generated from jconfig.cfg by configure. */ ++/* jconfig.cfg --- source file edited by configure script */ ++/* see jconfig.txt for explanations */ ++ ++#define HAVE_PROTOTYPES 1 ++#define HAVE_UNSIGNED_CHAR 1 ++#define HAVE_UNSIGNED_SHORT 1 ++/* #undef void */ ++/* #undef const */ ++/* #undef CHAR_IS_UNSIGNED */ ++#define HAVE_STDDEF_H 1 ++#define HAVE_STDLIB_H 1 ++#define HAVE_LOCALE_H 1 ++/* #undef NEED_BSD_STRINGS */ ++/* #undef NEED_SYS_TYPES_H */ ++/* #undef NEED_FAR_POINTERS */ ++/* #undef NEED_SHORT_EXTERNAL_NAMES */ ++/* Define this if you get warnings about undefined structures. */ ++/* #undef INCOMPLETE_TYPES_BROKEN */ ++ ++/* Define "boolean" as unsigned char, not int, on Windows systems. */ ++#ifdef WNT ++#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */ ++typedef unsigned char boolean; ++#endif ++#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */ ++#endif ++ ++#ifdef JPEG_INTERNALS ++ ++/* #undef RIGHT_SHIFT_IS_UNSIGNED */ ++#ifdef WNT ++#define INLINE __inline ++#elif defined SOLARIS ++#define INLINE ++#else ++#define INLINE inline ++#endif ++/* These are for configuring the JPEG memory manager. */ ++/* #undef DEFAULT_MAX_MEM */ ++/* #undef NO_MKTEMP */ ++ ++#endif /* JPEG_INTERNALS */ ++ ++#ifdef JPEG_CJPEG_DJPEG ++ ++#undef BMP_SUPPORTED /* BMP image file format */ ++#undef GIF_SUPPORTED /* GIF image file format */ ++#undef PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ ++/* #undef RLE_SUPPORTED */ ++#undef TARGA_SUPPORTED /* Targa image file format */ ++ ++/* #undef TWO_FILE_COMMANDLINE */ ++/* #undef NEED_SIGNAL_CATCHER */ ++/* #undef DONT_USE_B_MODE */ ++ ++/* Define this if you want percent-done progress reports from cjpeg/djpeg. */ ++/* #undef PROGRESS_REPORT */ ++ ++#endif /* JPEG_CJPEG_DJPEG */ +--- misc/jpeg-8c/jmorecfg.h 2009-11-20 09:01:24.000000000 +0100 ++++ misc/build/jpeg-8c/jmorecfg.h 2011-03-24 21:29:02.073761750 +0100 +@@ -21,7 +21,7 @@ + * We do not support run-time selection of data precision, sorry. + */ + +-#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ ++#define BITS_IN_JSAMPLE 8 /* use 8 or 12 */ + + + /* +@@ -158,7 +158,8 @@ + + /* INT32 must hold at least signed 32-bit values. */ + +-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ ++#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */ ++#ifndef _SOLAR_H + #ifndef _BASETSD_H_ /* Microsoft defines it in basetsd.h */ + #ifndef _BASETSD_H /* MinGW is slightly different */ + #ifndef QGLOBAL_H /* Qt defines it in qglobal.h */ +@@ -166,6 +167,7 @@ + #endif + #endif + #endif ++#endif + #endif + + /* Datatype used for image dimensions. The JPEG standard only supports +--- misc/jpeg-8c/makefile.mk 2011-03-24 21:20:52.540761397 +0100 ++++ misc/build/jpeg-8c/makefile.mk 2011-03-24 21:15:20.712761156 +0100 +@@ -1 +1,77 @@ +-dummy ++#************************************************************************* ++# ++# Copyright according the GNU Public License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++ ++PRJNAME=jpeg ++TARGET=jpeglib ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++VISIBILITY_HIDDEN=TRUE ++ ++# --- Settings ----------------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++.IF "$(GUI)$(CPU)"=="WNTP" ++CFLAGS=$(CFLAGS) -Od ++.ENDIF ++ ++# --- Files -------------------------------------------------------- ++ ++SLOFILES= $(SLO)$/jaricom.obj \ ++ $(SLO)$/jcapimin.obj \ ++ $(SLO)$/jcapistd.obj \ ++ $(SLO)$/jcarith.obj \ ++ $(SLO)$/jccoefct.obj \ ++ $(SLO)$/jccolor.obj \ ++ $(SLO)$/jcdctmgr.obj \ ++ $(SLO)$/jchuff.obj \ ++ $(SLO)$/jcinit.obj \ ++ $(SLO)$/jcmainct.obj \ ++ $(SLO)$/jcmarker.obj \ ++ $(SLO)$/jcmaster.obj \ ++ $(SLO)$/jcomapi.obj \ ++ $(SLO)$/jcparam.obj \ ++ $(SLO)$/jcprepct.obj \ ++ $(SLO)$/jcsample.obj \ ++ $(SLO)$/jctrans.obj \ ++ $(SLO)$/jdapimin.obj \ ++ $(SLO)$/jdapistd.obj \ ++ $(SLO)$/jdarith.obj \ ++ $(SLO)$/jdatadst.obj \ ++ $(SLO)$/jdatasrc.obj \ ++ $(SLO)$/jdcoefct.obj \ ++ $(SLO)$/jdcolor.obj \ ++ $(SLO)$/jddctmgr.obj \ ++ $(SLO)$/jdhuff.obj \ ++ $(SLO)$/jdinput.obj \ ++ $(SLO)$/jdmainct.obj \ ++ $(SLO)$/jdmarker.obj \ ++ $(SLO)$/jdmaster.obj \ ++ $(SLO)$/jdmerge.obj \ ++ $(SLO)$/jdpostct.obj \ ++ $(SLO)$/jdsample.obj \ ++ $(SLO)$/jdtrans.obj \ ++ $(SLO)$/jerror.obj \ ++ $(SLO)$/jfdctflt.obj \ ++ $(SLO)$/jfdctfst.obj \ ++ $(SLO)$/jfdctint.obj \ ++ $(SLO)$/jidctflt.obj \ ++ $(SLO)$/jidctfst.obj \ ++ $(SLO)$/jidctint.obj \ ++ $(SLO)$/jquant1.obj \ ++ $(SLO)$/jquant2.obj \ ++ $(SLO)$/jutils.obj \ ++ $(SLO)$/jmemmgr.obj \ ++ $(SLO)$/jmemnobs.obj \ ++ $(SLO)$/jutils.obj ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.INCLUDE : target.mk diff --git a/jpeg/makefile.mk b/jpeg/makefile.mk new file mode 100644 index 000000000000..adc0c664c127 --- /dev/null +++ b/jpeg/makefile.mk @@ -0,0 +1,71 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=jpeg +TARGET=jpeg + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_JPEG)" == "YES" +all: + @echo "An already available installation of libjpeg should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +#TARFILE_NAME=jpeg-6b +TARFILE_NAME=jpeg-8c + +#TARFILE_MD5=dbd5f3b47ed13132f04c685d608a7547 +TARFILE_MD5=a2c10c04f396a9ce72894beb18b4e1f9 + +#PATCH_FILES=jpeg-6b.patch +PATCH_FILES=jpeg-8c.patch + +ADDITIONAL_FILES=makefile.mk jconfig.h + +#relative to CONFIGURE_DIR + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +OUT2INC= jconfig.h \ + jerror.h \ + jmorecfg.h \ + jpegint.h \ + jpeglib.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/jpeg/prj/build.lst b/jpeg/prj/build.lst new file mode 100644 index 000000000000..ef26ed4a7926 --- /dev/null +++ b/jpeg/prj/build.lst @@ -0,0 +1,2 @@ +jg jpeg : soltools NULL +jg jpeg nmake - all jg_mkout NULL diff --git a/jpeg/prj/d.lst b/jpeg/prj/d.lst new file mode 100644 index 000000000000..42e3945e8747 --- /dev/null +++ b/jpeg/prj/d.lst @@ -0,0 +1,12 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\jpeg + +..\%__SRC%\slb\jpeglib.lib %_DEST%\lib\jpeglib.lib +..\%__SRC%\slb\jpeglib.lib %_DEST%\lib\jpeg.lib +..\%__SRC%\lib\libjpeglib.a %_DEST%\lib\libjpeglib.a +..\%__SRC%\lib\libjpeglib.a %_DEST%\lib\libjpeg.a + +..\%__SRC%\inc\jerror.h %_DEST%\inc\external\jpeg\jerror.h +..\%__SRC%\inc\jpeglib.h %_DEST%\inc\external\jpeg\jpeglib.h +..\%__SRC%\inc\jconfig.h %_DEST%\inc\external\jpeg\jconfig.h +..\%__SRC%\inc\jmorecfg.h %_DEST%\inc\external\jpeg\jmorecfg.h diff --git a/libcroco/libcroco-0.6.2.patch b/libcroco/libcroco-0.6.2.patch new file mode 100644 index 000000000000..100023fb7395 --- /dev/null +++ b/libcroco/libcroco-0.6.2.patch @@ -0,0 +1,110 @@ +--- misc/libcroco-0.6.2/src/makefile.mk Wed Aug 20 14:33:55 2008 ++++ misc/build/libcroco-0.6.2/src/makefile.mk Wed Aug 20 14:26:42 2008 +@@ -1 +1,106 @@ +-dummy ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# <http://www.openoffice.org/license.html> ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/..$/.. ++#PRJINC=.. ++PRJNAME=libcroco ++TARGET=libcroco-0.6-3 ++ ++#ENABLE_EXCEPTIONS=TRUE ++VISIBILITY_HIDDEN=TRUE ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ---------------------------------- ++ ++.INCLUDE : settings.mk ++ ++CFLAGS+=-I$(SOLARINCDIR)$/external -I$(SOLARINCDIR)$/external$/glib-2.0 ++ ++# --- Files ------------------------------------- ++ ++SLOFILES=\ ++ $(SLO)$/cr-utils.obj \
++ $(SLO)$/cr-input.obj \
++ $(SLO)$/cr-enc-handler.obj \
++ $(SLO)$/cr-num.obj \
++ $(SLO)$/cr-rgb.obj \
++ $(SLO)$/cr-token.obj \
++ $(SLO)$/cr-tknzr.obj \
++ $(SLO)$/cr-term.obj \
++ $(SLO)$/cr-attr-sel.obj \
++ $(SLO)$/cr-pseudo.obj \
++ $(SLO)$/cr-additional-sel.obj \
++ $(SLO)$/cr-simple-sel.obj \
++ $(SLO)$/cr-selector.obj \
++ $(SLO)$/cr-doc-handler.obj \
++ $(SLO)$/cr-parser.obj \
++ $(SLO)$/cr-declaration.obj \
++ $(SLO)$/cr-statement.obj \
++ $(SLO)$/cr-stylesheet.obj \
++ $(SLO)$/cr-cascade.obj \
++ $(SLO)$/cr-om-parser.obj \
++ $(SLO)$/cr-style.obj \
++ $(SLO)$/cr-sel-eng.obj \
++ $(SLO)$/cr-fonts.obj \
++ $(SLO)$/cr-prop-list.obj \
++ $(SLO)$/cr-parsing-location.obj \
++ $(SLO)$/cr-string.obj
++ ++ ++# --- Library ----------------------------------- ++ ++SHL1TARGET= $(TARGET) ++SHL1OBJS=$(SLOFILES) ++SHL1STDLIBS=\ ++ gio-2.0.lib \ ++ gobject-2.0.lib \ ++ gthread-2.0.lib \ ++ glib-2.0.lib \ ++ intl.lib \ ++ $(LIBXML2LIB) ++ ++ ++SHL1DEPN= ++#SHL1IMPLIB=$(TARGET) ++#SHL1USE_EXPORTS=name ++ ++SHL1DEF= $(MISC)$/$(SHL1TARGET).def ++ ++DEF1NAME= $(SHL1TARGET) ++DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt \ ++ $(SLB)$/$(TARGET).lib ++DEFLIB1NAME=$(TARGET) ++ ++# --- Targets ---------------------------------- ++ ++.INCLUDE : target.mk ++ ++# --- filter file ------------------------------ ++ ++$(MISC)$/$(SHL1TARGET).flt: makefile.mk ++ @echo CLEAR_THE_FILE > $@ ++ diff --git a/libcroco/makefile.mk b/libcroco/makefile.mk new file mode 100644 index 000000000000..d405f9505118 --- /dev/null +++ b/libcroco/makefile.mk @@ -0,0 +1,147 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=libcroco +TARGET=so_libcroco + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBCROCO)" == "YES" +all: + @echo "An already available installation of libcroco should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +LIBCROCOVERSION=0.6.2 + +TARFILE_NAME=$(PRJNAME)-$(LIBCROCOVERSION) +TARFILE_MD5=0611e099e807210cf738dcb41425d104 + +PATCH_FILES= +CONFIGURE_DIR= + +.IF "$(OS)"=="MACOSX" +CONFIGURE_ACTION=./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \ + CPPFLAGS="$(EXTRA_CDEFS)" \ + CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \ + LDFLAGS="-L$(SOLARLIBDIR) $(EXTRA_LINKFLAGS) -Wl,-dylib_file,@loader_path/libgmodule-2.0.0.dylib:$(SOLARLIBDIR)/libgmodule-2.0.0.dylib" \ + GLIB2_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0" \ + GLIB2_LIBS="-lgio-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lintl" \ + LIBXML2_CFLAGS="$(LIBXML_CFLAGS)" \ + LIBXML2_LIBS="$(LIBXML_LIBS)" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \ + $(GNUMAKE) +BUILD_DIR=$(CONFIGURE_DIR) + +EXTRPATH=LOADER +OUT2LIB+=src/.libs/libcroco-0.6.3.0.1.dylib + +OUT2INC+=src/cr-additional-sel.h +OUT2INC+=src/cr-input.h +OUT2INC+=src/cr-rgb.h +OUT2INC+=src/cr-stylesheet.h +OUT2INC+=src/cr-attr-sel.h +OUT2INC+=src/cr-num.h +OUT2INC+=src/cr-sel-eng.h +OUT2INC+=src/cr-term.h +OUT2INC+=src/cr-cascade.h +OUT2INC+=src/cr-om-parser.h +OUT2INC+=src/cr-selector.h +OUT2INC+=src/cr-tknzr.h +OUT2INC+=src/cr-declaration.h +OUT2INC+=src/cr-parser.h +OUT2INC+=src/cr-simple-sel.h +OUT2INC+=src/cr-token.h +OUT2INC+=src/cr-doc-handler.h +OUT2INC+=src/cr-parsing-location.h +OUT2INC+=src/cr-statement.h +OUT2INC+=src/cr-utils.h +OUT2INC+=src/cr-enc-handler.h +OUT2INC+=src/cr-prop-list.h +OUT2INC+=src/cr-string.h +OUT2INC+=src/libcroco-config.h +OUT2INC+=src/cr-fonts.h +OUT2INC+=src/cr-pseudo.h +OUT2INC+=src/cr-style.h +OUT2INC+=src/libcroco.h +.ELIF "$(OS)"=="WNT" + +BUILD_ACTION=dmake +BUILD_DIR=$(CONFIGURE_DIR)$/src +PATCH_FILES=libcroco-0.6.2.patch +ADDITIONAL_FILES=\ + src$/makefile.mk + +OUT2INC+=src$/cr-additional-sel.h +OUT2INC+=src$/cr-input.h +OUT2INC+=src$/cr-rgb.h +OUT2INC+=src$/cr-stylesheet.h +OUT2INC+=src$/cr-attr-sel.h +OUT2INC+=src$/cr-num.h +OUT2INC+=src$/cr-sel-eng.h +OUT2INC+=src$/cr-term.h +OUT2INC+=src$/cr-cascade.h +OUT2INC+=src$/cr-om-parser.h +OUT2INC+=src$/cr-selector.h +OUT2INC+=src$/cr-tknzr.h +OUT2INC+=src$/cr-declaration.h +OUT2INC+=src$/cr-parser.h +OUT2INC+=src$/cr-simple-sel.h +OUT2INC+=src$/cr-token.h +OUT2INC+=src$/cr-doc-handler.h +OUT2INC+=src$/cr-parsing-location.h +OUT2INC+=src$/cr-statement.h +OUT2INC+=src$/cr-utils.h +OUT2INC+=src$/cr-enc-handler.h +OUT2INC+=src$/cr-prop-list.h +OUT2INC+=src$/cr-string.h +OUT2INC+=src$/libcroco-config.h +OUT2INC+=src$/cr-fonts.h +OUT2INC+=src$/cr-pseudo.h +OUT2INC+=src$/cr-style.h +OUT2INC+=src$/libcroco.h +.ELSE + +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/libcroco/prj/build.lst b/libcroco/prj/build.lst new file mode 100644 index 000000000000..b03d58bba3d4 --- /dev/null +++ b/libcroco/prj/build.lst @@ -0,0 +1,3 @@ +cr libcroco : LIBXML2:libxml2 glib soltools NULL +cr libcroco usr1 - all cr_mkout NULL +cr libcroco nmake - all cr_libcroco NULL diff --git a/libcroco/prj/d.lst b/libcroco/prj/d.lst new file mode 100755 index 000000000000..6c89b36fd4b8 --- /dev/null +++ b/libcroco/prj/d.lst @@ -0,0 +1,39 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\libcroco-0.6 +mkdir: %_DEST%\inc\external\libcroco-0.6\libcroco + +..\%__SRC%\inc\cr-additional-sel.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-additional-sel.h +..\%__SRC%\inc\cr-input.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-input.h +..\%__SRC%\inc\cr-rgb.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-rgb.h +..\%__SRC%\inc\cr-stylesheet.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-stylesheet.h +..\%__SRC%\inc\cr-attr-sel.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-attr-sel.h +..\%__SRC%\inc\cr-num.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-num.h +..\%__SRC%\inc\cr-sel-eng.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-sel-eng.h +..\%__SRC%\inc\cr-term.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-term.h +..\%__SRC%\inc\cr-cascade.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-cascade.h +..\%__SRC%\inc\cr-om-parser.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-om-parser.h +..\%__SRC%\inc\cr-selector.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-selector.h +..\%__SRC%\inc\cr-tknzr.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-tknzr.h +..\%__SRC%\inc\cr-declaration.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-declaration.h +..\%__SRC%\inc\cr-parser.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-parser.h +..\%__SRC%\inc\cr-simple-sel.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-simple-sel.h +..\%__SRC%\inc\cr-token.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-token.h +..\%__SRC%\inc\cr-doc-handler.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-doc-handler.h +..\%__SRC%\inc\cr-parsing-location.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-parsing-location.h +..\%__SRC%\inc\cr-statement.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-statement.h +..\%__SRC%\inc\cr-utils.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-utils.h +..\%__SRC%\inc\cr-enc-handler.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-enc-handler.h +..\%__SRC%\inc\cr-prop-list.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-prop-list.h +..\%__SRC%\inc\cr-string.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-string.h +..\%__SRC%\inc\libcroco-config.h %_DEST%\inc\external\libcroco-0.6\libcroco\libcroco-config.h +..\%__SRC%\inc\cr-fonts.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-fonts.h +..\%__SRC%\inc\cr-pseudo.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-pseudo.h +..\%__SRC%\inc\cr-style.h %_DEST%\inc\external\libcroco-0.6\libcroco\cr-style.h +..\%__SRC%\inc\libcroco.h %_DEST%\inc\external\libcroco-0.6\libcroco\libcroco.h + +..\%__SRC%\lib\libcroco-0.6.3.0.1.dylib %_DEST%\lib\libcroco-0.6.3.0.1.dylib +symlink: %_DEST%\lib\libcroco-0.6.3.0.1.dylib %_DEST%\lib\libcroco-0.6.3.dylib +symlink: %_DEST%\lib\libcroco-0.6.3.dylib %_DEST%\lib\libcroco-0.6.dylib + +..\%__SRC%\lib\ilibcroco-0.6-3_t1.lib %_DEST%\lib\libcroco-0.6-3.lib +..\%__SRC%\bin\libcroco-0.6-3.dll %_DEST%\bin\libcroco-0.6-3.dll diff --git a/libgsf/libgsf-1.14.19.patch b/libgsf/libgsf-1.14.19.patch new file mode 100644 index 000000000000..e8acba50c4c0 --- /dev/null +++ b/libgsf/libgsf-1.14.19.patch @@ -0,0 +1,38 @@ +--- misc/libgsf-1.14.19/configure 2010-09-25 18:53:55.000000000 +0200 ++++ misc/build/libgsf-1.14.19/configure 2011-03-03 12:42:21.000000000 +0100 +@@ -11475,7 +11475,7 @@ + + + +- ++if false; then + case "$am__api_version" in + 1.01234) + as_fn_error "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 +@@ -11650,7 +11650,7 @@ + + + +- ++fi + + + +@@ -11963,7 +11963,7 @@ + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 + $as_echo "$IT_PERL_VERSION" >&6; } + fi +-if test "x" != "xno-xml"; then ++if test "xno-xml" != "xno-xml"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 + $as_echo_n "checking for XML::Parser... " >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then +@@ -12846,7 +12846,7 @@ + fi + + fi +-if test -n "$PKG_CONFIG"; then ++if test "$PKG_CONFIG" != "no" ; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 + $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } diff --git a/libgsf/libgsf-1.14.19.windows.patch b/libgsf/libgsf-1.14.19.windows.patch new file mode 100644 index 000000000000..2f4221420558 --- /dev/null +++ b/libgsf/libgsf-1.14.19.windows.patch @@ -0,0 +1,138 @@ +--- misc/libgsf-1.14.19/gsf/gsf-config.h 2011-03-23 16:18:27.163747600 +0100 ++++ misc/build/libgsf-1.14.19/gsf/gsf-config.h 2011-03-23 16:01:26.598374600 +0100 +@@ -1 +1,10 @@ +-dummy ++#ifndef GSF_CONFIG_H ++#define GSF_CONFIG_H ++ ++#define GETTEXT_PACKAGE "gsf" ++ ++typedef unsigned short mode_t; ++ ++#define S_ISREG(x) ((x & _S_IFREG)!=0) ++ ++#endif +--- misc/libgsf-1.14.19/gsf/makefile.mk 2011-03-23 16:18:27.070742300 +0100 ++++ misc/build/libgsf-1.14.19/gsf/makefile.mk 2011-03-23 16:17:29.477448100 +0100 +@@ -1 +1,120 @@ +-dummy ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# <http://www.openoffice.org/license.html> ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/..$/.. ++PRJINC=.. ++PRJNAME=libgsf ++TARGET=gsf-1 ++ ++VISIBILITY_HIDDEN=TRUE ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ---------------------------------- ++ ++.INCLUDE : settings.mk ++ ++CFLAGS+= -I.. -I$(SOLARINCDIR)$/external$/glib-2.0 -I$(SOLARINCDIR)$/external$/zlib -I$(SOLARINCDIR)$/external ++ ++# --- Files ------------------------------------- ++ ++SLOFILES=\ ++ $(SLO)$/gsf-blob.obj \ ++ $(SLO)$/gsf-input-memory.obj \ ++ $(SLO)$/gsf-output-gio.obj \ ++ $(SLO)$/gsf-clip-data.obj \ ++ $(SLO)$/gsf-input-proxy.obj \ ++ $(SLO)$/gsf-output-gzip.obj \ ++ $(SLO)$/gsf-doc-meta-data.obj \ ++ $(SLO)$/gsf-input-stdio.obj \ ++ $(SLO)$/gsf-output-iconv.obj \ ++ $(SLO)$/gsf-docprop-vector.obj \ ++ $(SLO)$/gsf-input-textline.obj \ ++ $(SLO)$/gsf-output-iochannel.obj \ ++ $(SLO)$/gsf-infile-msole.obj \ ++ $(SLO)$/gsf-input.obj \ ++ $(SLO)$/gsf-output-memory.obj \ ++ $(SLO)$/gsf-infile-msvba.obj \ ++ $(SLO)$/gsf-libxml.obj \ ++ $(SLO)$/gsf-output-stdio.obj \ ++ $(SLO)$/gsf-infile-stdio.obj \ ++ $(SLO)$/gsf-msole-utils.obj \ ++ $(SLO)$/gsf-output.obj \ ++ $(SLO)$/gsf-infile-tar.obj \ ++ $(SLO)$/gsf-open-pkg-utils.obj \ ++ $(SLO)$/gsf-shared-memory.obj \ ++ $(SLO)$/gsf-infile-zip.obj \ ++ $(SLO)$/gsf-opendoc-utils.obj \ ++ $(SLO)$/gsf-structured-blob.obj \ ++ $(SLO)$/gsf-infile.obj \ ++ $(SLO)$/gsf-outfile-msole.obj \ ++ $(SLO)$/gsf-timestamp.obj \ ++ $(SLO)$/gsf-input-bzip.obj \ ++ $(SLO)$/gsf-outfile-stdio.obj \ ++ $(SLO)$/gsf-utils.obj \ ++ $(SLO)$/gsf-input-gio.obj \ ++ $(SLO)$/gsf-outfile-zip.obj \ ++ $(SLO)$/gsf-zip-utils.obj \ ++ $(SLO)$/gsf-input-gzip.obj \ ++ $(SLO)$/gsf-outfile.obj \ ++ $(SLO)$/version.obj \ ++ $(SLO)$/gsf-input-http.obj \ ++ $(SLO)$/gsf-output-bzip.obj \ ++ $(SLO)$/gsf-input-iochannel.obj \ ++ $(SLO)$/gsf-output-csv.obj ++ ++# --- Library ----------------------------------- ++ ++SHL1TARGET= $(TARGET) ++SHL1OBJS=$(SLOFILES) ++SHL1STDLIBS=\ ++ libxml2.lib \ ++ gio-2.0.lib \ ++ gmodule-2.0.lib \ ++ gobject-2.0.lib \ ++ glib-2.0.lib \ ++ intl.lib \ ++ zlib.lib \ ++ Advapi32.lib ++ ++ ++SHL1IMPLIB= i$(TARGET) ++SHL1DEF= $(MISC)$/$(SHL1TARGET).def ++ ++DEF1NAME= $(SHL1TARGET) ++DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt \ ++ $(SLB)$/$(TARGET).lib ++DEFLIB1NAME=$(TARGET) ++ ++# --- Targets ---------------------------------- ++ ++.INCLUDE : target.mk ++ ++# --- filter file ------------------------------ ++ ++$(MISC)$/$(SHL1TARGET).flt: makefile.mk ++ @echo CLEAR_THE_FILE > $@ ++ diff --git a/libgsf/makefile.mk b/libgsf/makefile.mk new file mode 100644 index 000000000000..6a481a2debc8 --- /dev/null +++ b/libgsf/makefile.mk @@ -0,0 +1,161 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + + +PRJ=. + +PRJNAME=libgsf +TARGET=so_libgsf + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBGSF)" == "YES" +all: + @echo "An already available installation of gdk-pixbuf should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +LIBGSFVERSION=1.14.19 + +TARFILE_NAME=$(PRJNAME)-$(LIBGSFVERSION) +TARFILE_MD5=3a84ac2da37cae5bf7ce616228c6fbde + +.IF "$(OS)"=="MACOSX" || "$(OS)"=="WNT" + +.IF "$(OS)" == "WNT" +PATCH_FILES=libgsf-1.14.19.windows.patch + +BUILD_DIR=gsf +BUILD_ACTION=dmake + +ADDITIONAL_FILES=\ + gsf/makefile.mk \ + gsf/gsf-config.h + +.ELSE +PATCH_FILES=libgsf-1.14.19.patch + +CONFIGURE_DIR= +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \ + ./configure \ + --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) \ + CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(LIBXML_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \ + LDFLAGS="-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL))" \ + --without-python \ + --without-bonobo \ + --with-bz2 \ + --with-gio \ + --with-gdk_pixbuf \ + --without-gnome-vfs \ + --disable-nls \ + LIBGSF_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0" \ + LIBGSF_LIBS="-lxml2 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl" \ + LIBGSF_GIO_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0" \ + LIBGSF_GIO_LIBS="-lgio-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl" \ + GDK_PIXBUF_CFLAGS="-I$(SOLARINCDIR)/external/gdk-pixbuf-2.0" \ + GDK_PIXBUF_LIBS="-lgdk_pixbuf-2.0" + + +CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL)) + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \ + $(GNUMAKE) +BUILD_DIR=$(CONFIGURE_DIR) + +.ENDIF + +.IF "$(OS)"=="MACOSX" +EXTRPATH=LOADER +OUT2LIB+=gsf/.libs/libgsf-1.114.dylib +.ENDIF + +OUT2INC+=gsf/gsf-blob.h +OUT2INC+=gsf/gsf-input-impl.h +OUT2INC+=gsf/gsf-outfile.h +OUT2INC+=gsf/gsf-clip-data.h +OUT2INC+=gsf/gsf-input-iochannel.h +OUT2INC+=gsf/gsf-output-bzip.h +OUT2INC+=gsf/gsf-doc-meta-data.h +OUT2INC+=gsf/gsf-input-memory.h +OUT2INC+=gsf/gsf-output-csv.h +OUT2INC+=gsf/gsf-docprop-vector.h +OUT2INC+=gsf/gsf-input-proxy.h +OUT2INC+=gsf/gsf-output-gio.h +OUT2INC+=gsf/gsf-impl-utils.h +OUT2INC+=gsf/gsf-input-stdio.h +OUT2INC+=gsf/gsf-output-gzip.h +OUT2INC+=gsf/gsf-infile-impl.h +OUT2INC+=gsf/gsf-input-textline.h +OUT2INC+=gsf/gsf-output-iconv.h +OUT2INC+=gsf/gsf-infile-msole.h +OUT2INC+=gsf/gsf-input.h +OUT2INC+=gsf/gsf-output-impl.h +OUT2INC+=gsf/gsf-infile-msvba.h +OUT2INC+=gsf/gsf-libxml.h +OUT2INC+=gsf/gsf-output-iochannel.h +OUT2INC+=gsf/gsf-infile-stdio.h +OUT2INC+=gsf/gsf-meta-names.h +OUT2INC+=gsf/gsf-output-memory.h +OUT2INC+=gsf/gsf-infile-tar.h +OUT2INC+=gsf/gsf-msole-utils.h +OUT2INC+=gsf/gsf-output-stdio.h +OUT2INC+=gsf/gsf-infile-zip.h +OUT2INC+=gsf/gsf-open-pkg-utils.h +OUT2INC+=gsf/gsf-output.h +OUT2INC+=gsf/gsf-infile.h +OUT2INC+=gsf/gsf-opendoc-utils.h +OUT2INC+=gsf/gsf-shared-memory.h +OUT2INC+=gsf/gsf-input-bzip.h +OUT2INC+=gsf/gsf-outfile-impl.h +OUT2INC+=gsf/gsf-structured-blob.h +OUT2INC+=gsf/gsf-input-gio.h +OUT2INC+=gsf/gsf-outfile-msole.h +OUT2INC+=gsf/gsf-timestamp.h +OUT2INC+=gsf/gsf-input-gzip.h +OUT2INC+=gsf/gsf-outfile-stdio.h +OUT2INC+=gsf/gsf-utils.h +OUT2INC+=gsf/gsf-input-http.h +OUT2INC+=gsf/gsf-outfile-zip.h +OUT2INC+=gsf/gsf.h + +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + + diff --git a/libgsf/prj/build.lst b/libgsf/prj/build.lst new file mode 100644 index 000000000000..1a3ea01e7535 --- /dev/null +++ b/libgsf/prj/build.lst @@ -0,0 +1,3 @@ +gs libgsf : glib soltools NULL +gs libgsf usr1 - all gs_mkout NULL +gs libgsf nmake - all gs_libgsf NULL diff --git a/libgsf/prj/d.lst b/libgsf/prj/d.lst new file mode 100755 index 000000000000..04f57626185c --- /dev/null +++ b/libgsf/prj/d.lst @@ -0,0 +1,59 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\libgsf-1 +mkdir: %_DEST%\inc\external\libgsf-1\gsf + +..\%__SRC%\inc\gsf-blob.h %_DEST%\inc\external\libgsf-1\gsf\gsf-blob.h +..\%__SRC%\inc\gsf-input-impl.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-impl.h +..\%__SRC%\inc\gsf-outfile.h %_DEST%\inc\external\libgsf-1\gsf\gsf-outfile.h +..\%__SRC%\inc\gsf-clip-data.h %_DEST%\inc\external\libgsf-1\gsf\gsf-clip-data.h +..\%__SRC%\inc\gsf-input-iochannel.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-iochannel.h +..\%__SRC%\inc\gsf-output-bzip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-bzip.h +..\%__SRC%\inc\gsf-doc-meta-data.h %_DEST%\inc\external\libgsf-1\gsf\gsf-doc-meta-data.h +..\%__SRC%\inc\gsf-input-memory.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-memory.h +..\%__SRC%\inc\gsf-output-csv.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-csv.h +..\%__SRC%\inc\gsf-docprop-vector.h %_DEST%\inc\external\libgsf-1\gsf\gsf-docprop-vector.h +..\%__SRC%\inc\gsf-input-proxy.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-proxy.h +..\%__SRC%\inc\gsf-output-gio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-gio.h +..\%__SRC%\inc\gsf-impl-utils.h %_DEST%\inc\external\libgsf-1\gsf\gsf-impl-utils.h +..\%__SRC%\inc\gsf-input-stdio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-stdio.h +..\%__SRC%\inc\gsf-output-gzip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-gzip.h +..\%__SRC%\inc\gsf-infile-impl.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-impl.h +..\%__SRC%\inc\gsf-input-textline.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-textline.h +..\%__SRC%\inc\gsf-output-iconv.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-iconv.h +..\%__SRC%\inc\gsf-infile-msole.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-msole.h +..\%__SRC%\inc\gsf-input.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input.h +..\%__SRC%\inc\gsf-output-impl.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-impl.h +..\%__SRC%\inc\gsf-infile-msvba.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-msvba.h +..\%__SRC%\inc\gsf-libxml.h %_DEST%\inc\external\libgsf-1\gsf\gsf-libxml.h +..\%__SRC%\inc\gsf-output-iochannel.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-iochannel.h +..\%__SRC%\inc\gsf-infile-stdio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-stdio.h +..\%__SRC%\inc\gsf-meta-names.h %_DEST%\inc\external\libgsf-1\gsf\gsf-meta-names.h +..\%__SRC%\inc\gsf-output-memory.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-memory.h +..\%__SRC%\inc\gsf-infile-tar.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-tar.h +..\%__SRC%\inc\gsf-msole-utils.h %_DEST%\inc\external\libgsf-1\gsf\gsf-msole-utils.h +..\%__SRC%\inc\gsf-output-stdio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output-stdio.h +..\%__SRC%\inc\gsf-infile-zip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile-zip.h +..\%__SRC%\inc\gsf-open-pkg-utils.h %_DEST%\inc\external\libgsf-1\gsf\gsf-open-pkg-utils.h +..\%__SRC%\inc\gsf-output.h %_DEST%\inc\external\libgsf-1\gsf\gsf-output.h +..\%__SRC%\inc\gsf-infile.h %_DEST%\inc\external\libgsf-1\gsf\gsf-infile.h +..\%__SRC%\inc\gsf-opendoc-utils.h %_DEST%\inc\external\libgsf-1\gsf\gsf-opendoc-utils.h +..\%__SRC%\inc\gsf-shared-memory.h %_DEST%\inc\external\libgsf-1\gsf\gsf-shared-memory.h +..\%__SRC%\inc\gsf-input-bzip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-bzip.h +..\%__SRC%\inc\gsf-outfile-impl.h %_DEST%\inc\external\libgsf-1\gsf\gsf-outfile-impl.h +..\%__SRC%\inc\gsf-structured-blob.h %_DEST%\inc\external\libgsf-1\gsf\gsf-structured-blob.h +..\%__SRC%\inc\gsf-input-gio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-gio.h +..\%__SRC%\inc\gsf-outfile-msole.h %_DEST%\inc\external\libgsf-1\gsf\gsf-outfile-msole.h +..\%__SRC%\inc\gsf-timestamp.h %_DEST%\inc\external\libgsf-1\gsf\gsf-timestamp.h +..\%__SRC%\inc\gsf-input-gzip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-gzip.h +..\%__SRC%\inc\gsf-outfile-stdio.h %_DEST%\inc\external\libgsf-1\gsf\gsf-outfile-stdio.h +..\%__SRC%\inc\gsf-utils.h %_DEST%\inc\external\libgsf-1\gsf\gsf-utils.h +..\%__SRC%\inc\gsf-input-http.h %_DEST%\inc\external\libgsf-1\gsf\gsf-input-http.h +..\%__SRC%\inc\gsf-outfile-zip.h %_DEST%\inc\external\libgsf-1\gsf\gsf-outfile-zip.h +..\%__SRC%\inc\gsf.h %_DEST%\inc\external\libgsf-1\gsf\gsf.h + +..\%__SRC%\lib\libgsf-1.114.dylib %_DEST%\lib\libgsf-1.114.dylib +symlink: %_DEST%\lib\libgsf-1.114.dylib %_DEST%\lib\libgsf-1.dylib + +..\%__SRC%\bin\gsf-1.dll %_DEST%\bin\gsf-1.dll +..\%__SRC%\lib\igsf-1.lib %_DEST%\lib\igsf-1.lib + diff --git a/libpng/libpng-1.5.1.patch b/libpng/libpng-1.5.1.patch new file mode 100644 index 000000000000..ebae94ac000a --- /dev/null +++ b/libpng/libpng-1.5.1.patch @@ -0,0 +1,281 @@ +--- misc/libpng-1.5.1/makefile.mk 2011-03-24 21:49:50.911397154 +0100 ++++ misc/build/libpng-1.5.1/makefile.mk 2011-03-24 21:47:23.379397048 +0100 +@@ -1 +1,49 @@ +-dummy ++#************************************************************************* ++# ++# Copyright according the GNU Public License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++ ++PRJNAME=libpng ++TARGET=libpng ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++VISIBILITY_HIDDEN=TRUE ++ ++# --- Settings ----------------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++ ++.IF "$(GUI)$(CPU)"=="WNTP" ++CFLAGS=$(CFLAGS) -Od ++.ENDIF ++ ++# --- Files -------------------------------------------------------- ++ ++SLOFILES= $(SLO)$/png.obj \ ++ $(SLO)$/pngerror.obj \ ++ $(SLO)$/pngget.obj \ ++ $(SLO)$/pngmem.obj \ ++ $(SLO)$/pngpread.obj \ ++ $(SLO)$/pngread.obj \ ++ $(SLO)$/pngrio.obj \ ++ $(SLO)$/pngrtran.obj \ ++ $(SLO)$/pngrutil.obj \ ++ $(SLO)$/pngset.obj \ ++ $(SLO)$/pngtest.obj \ ++ $(SLO)$/pngtrans.obj \ ++ $(SLO)$/pngvalid.obj \ ++ $(SLO)$/pngwio.obj \ ++ $(SLO)$/pngwrite.obj \ ++ $(SLO)$/pngwtran.obj \ ++ $(SLO)$/pngwutil.obj ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.INCLUDE : target.mk ++ +--- misc/libpng-1.5.1/pnglibconf.h 2011-03-24 21:49:50.913397154 +0100 ++++ misc/build/libpng-1.5.1/pnglibconf.h 2011-03-24 21:47:23.380397048 +0100 +@@ -1 +1,176 @@ +-dummy ++ ++/* libpng STANDARD API DEFINITION */ ++ ++/* pnglibconf.h - library build configuration */ ++ ++/* libpng version 1.5.0 - last changed on January 6, 2011 */ ++ ++/* Copyright (c) 1998-2011 Glenn Randers-Pehrson */ ++ ++/* This code is released under the libpng license. */ ++/* For conditions of distribution and use, see the disclaimer */ ++/* and license in png.h */ ++ ++/* pnglibconf.h */ ++/* Machine generated file: DO NOT EDIT */ ++/* Derived from: scripts/pnglibconf.dfa */ ++#ifndef PNGLCONF_H ++#define PNGLCONF_H ++/* settings */ ++#define PNG_MAX_GAMMA_8 11 ++#define PNG_CALLOC_SUPPORTED ++#define PNG_QUANTIZE_RED_BITS 5 ++#define PNG_USER_WIDTH_MAX 1000000L ++#define PNG_QUANTIZE_GREEN_BITS 5 ++#define PNG_API_RULE 0 ++#define PNG_QUANTIZE_BLUE_BITS 5 ++#define PNG_USER_CHUNK_CACHE_MAX 0 ++#define PNG_USER_HEIGHT_MAX 1000000L ++#define PNG_sCAL_PRECISION 5 ++#define PNG_COST_SHIFT 3 ++#define PNG_WEIGHT_SHIFT 8 ++#define PNG_USER_CHUNK_MALLOC_MAX 0 ++#define PNG_DEFAULT_READ_MACROS 1 ++#define PNG_ZBUF_SIZE 8192 ++#define PNG_GAMMA_THRESHOLD_FIXED 5000 ++/* end of settings */ ++/* options */ ++#define PNG_INFO_IMAGE_SUPPORTED ++#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED ++#define PNG_POINTER_INDEXING_SUPPORTED ++#define PNG_WARNINGS_SUPPORTED ++#define PNG_FLOATING_ARITHMETIC_SUPPORTED ++#define PNG_WRITE_SUPPORTED ++#define PNG_WRITE_INTERLACING_SUPPORTED ++#define PNG_WRITE_16BIT_SUPPORTED ++#define PNG_EASY_ACCESS_SUPPORTED ++#define PNG_ALIGN_MEMORY_SUPPORTED ++#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED ++#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED ++#define PNG_USER_LIMITS_SUPPORTED ++#define PNG_FIXED_POINT_SUPPORTED ++/*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ ++#define PNG_ERROR_TEXT_SUPPORTED ++#define PNG_READ_SUPPORTED ++/*#undef PNG_READ_16_TO_8_ACCURATE_SCALE_SUPPORTED*/ ++#define PNG_BENIGN_ERRORS_SUPPORTED ++#define PNG_SETJMP_SUPPORTED ++#define PNG_WRITE_FLUSH_SUPPORTED ++#define PNG_MNG_FEATURES_SUPPORTED ++#define PNG_FLOATING_POINT_SUPPORTED ++#define PNG_INCH_CONVERSIONS_SUPPORTED ++#define PNG_STDIO_SUPPORTED ++#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED ++#define PNG_USER_MEM_SUPPORTED ++#define PNG_IO_STATE_SUPPORTED ++#define PNG_SET_USER_LIMITS_SUPPORTED ++#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED ++#define PNG_WRITE_INT_FUNCTIONS_SUPPORTED ++#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED ++#define PNG_WRITE_FILTER_SUPPORTED ++#define PNG_SET_CHUNK_CACHE_LIMIT_SUPPORTED ++#define PNG_WRITE_iCCP_SUPPORTED ++#define PNG_READ_TRANSFORMS_SUPPORTED ++#define PNG_READ_GAMMA_SUPPORTED ++#define PNG_READ_bKGD_SUPPORTED ++#define PNG_UNKNOWN_CHUNKS_SUPPORTED ++#define PNG_READ_sCAL_SUPPORTED ++#define PNG_WRITE_hIST_SUPPORTED ++#define PNG_READ_OPT_PLTE_SUPPORTED ++#define PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED ++#define PNG_WRITE_gAMA_SUPPORTED ++#define PNG_READ_GRAY_TO_RGB_SUPPORTED ++#define PNG_WRITE_pCAL_SUPPORTED ++#define PNG_READ_INVERT_ALPHA_SUPPORTED ++#define PNG_WRITE_TRANSFORMS_SUPPORTED ++#define PNG_READ_sBIT_SUPPORTED ++#define PNG_READ_PACK_SUPPORTED ++#define PNG_WRITE_SWAP_SUPPORTED ++#define PNG_READ_cHRM_SUPPORTED ++#define PNG_WRITE_tIME_SUPPORTED ++#define PNG_READ_INTERLACING_SUPPORTED ++#define PNG_READ_tRNS_SUPPORTED ++#define PNG_WRITE_pHYs_SUPPORTED ++#define PNG_WRITE_INVERT_SUPPORTED ++#define PNG_READ_RGB_TO_GRAY_SUPPORTED ++#define PNG_WRITE_sRGB_SUPPORTED ++#define PNG_READ_oFFs_SUPPORTED ++#define PNG_WRITE_FILLER_SUPPORTED ++#define PNG_WRITE_TEXT_SUPPORTED ++#define PNG_WRITE_SHIFT_SUPPORTED ++#define PNG_PROGRESSIVE_READ_SUPPORTED ++#define PNG_READ_SHIFT_SUPPORTED ++#define PNG_CONVERT_tIME_SUPPORTED ++#define PNG_READ_USER_TRANSFORM_SUPPORTED ++#define PNG_READ_INT_FUNCTIONS_SUPPORTED ++#define PNG_READ_USER_CHUNKS_SUPPORTED ++#define PNG_READ_hIST_SUPPORTED ++#define PNG_READ_16BIT_SUPPORTED ++#define PNG_READ_SWAP_ALPHA_SUPPORTED ++#define PNG_READ_COMPOSITE_NODIV_SUPPORTED ++#define PNG_SEQUENTIAL_READ_SUPPORTED ++#define PNG_READ_BACKGROUND_SUPPORTED ++#define PNG_READ_QUANTIZE_SUPPORTED ++#define PNG_READ_iCCP_SUPPORTED ++#define PNG_READ_STRIP_ALPHA_SUPPORTED ++#define PNG_READ_PACKSWAP_SUPPORTED ++#define PNG_READ_sRGB_SUPPORTED ++#define PNG_WRITE_tEXt_SUPPORTED ++#define PNG_READ_gAMA_SUPPORTED ++#define PNG_READ_pCAL_SUPPORTED ++#define PNG_READ_EXPAND_SUPPORTED ++#define PNG_WRITE_sPLT_SUPPORTED ++#define PNG_READ_SWAP_SUPPORTED ++#define PNG_READ_tIME_SUPPORTED ++#define PNG_READ_pHYs_SUPPORTED ++#define PNG_WRITE_SWAP_ALPHA_SUPPORTED ++#define PNG_TIME_RFC1123_SUPPORTED ++#define PNG_READ_TEXT_SUPPORTED ++#define PNG_WRITE_BGR_SUPPORTED ++#define PNG_USER_CHUNKS_SUPPORTED ++#define PNG_CONSOLE_IO_SUPPORTED ++#define PNG_WRITE_PACK_SUPPORTED ++#define PNG_READ_FILLER_SUPPORTED ++#define PNG_WRITE_bKGD_SUPPORTED ++#define PNG_WRITE_tRNS_SUPPORTED ++#define PNG_READ_sPLT_SUPPORTED ++#define PNG_WRITE_sCAL_SUPPORTED ++#define PNG_WRITE_oFFs_SUPPORTED ++#define PNG_READ_tEXt_SUPPORTED ++#define PNG_WRITE_sBIT_SUPPORTED ++#define PNG_READ_INVERT_SUPPORTED ++#define PNG_READ_16_TO_8_SUPPORTED ++#define PNG_WRITE_cHRM_SUPPORTED ++#define PNG_16BIT_SUPPORTED ++#define PNG_WRITE_USER_TRANSFORM_SUPPORTED ++#define PNG_READ_BGR_SUPPORTED ++#define PNG_WRITE_PACKSWAP_SUPPORTED ++#define PNG_WRITE_INVERT_ALPHA_SUPPORTED ++#define PNG_sCAL_SUPPORTED ++#define PNG_WRITE_zTXt_SUPPORTED ++#define PNG_sBIT_SUPPORTED ++#define PNG_cHRM_SUPPORTED ++#define PNG_bKGD_SUPPORTED ++#define PNG_tRNS_SUPPORTED ++#define PNG_WRITE_iTXt_SUPPORTED ++#define PNG_oFFs_SUPPORTED ++#define PNG_USER_TRANSFORM_PTR_SUPPORTED ++#define PNG_USER_TRANSFORM_INFO_SUPPORTED ++#define PNG_hIST_SUPPORTED ++#define PNG_iCCP_SUPPORTED ++#define PNG_sRGB_SUPPORTED ++#define PNG_READ_zTXt_SUPPORTED ++#define PNG_gAMA_SUPPORTED ++#define PNG_pCAL_SUPPORTED ++#define PNG_CHECK_cHRM_SUPPORTED ++#define PNG_tIME_SUPPORTED ++#define PNG_pHYs_SUPPORTED ++#define PNG_READ_iTXt_SUPPORTED ++#define PNG_TEXT_SUPPORTED ++#define PNG_SAVE_INT_32_SUPPORTED ++#define PNG_sPLT_SUPPORTED ++#define PNG_tEXt_SUPPORTED ++#define PNG_zTXt_SUPPORTED ++#define PNG_iTXt_SUPPORTED ++/* end of options */ ++#endif /* PNGLCONF_H */ +--- misc/libpng-1.5.1/pngstruct.h 2011-02-03 05:58:17.000000000 +0100 ++++ misc/build/libpng-1.5.1/pngstruct.h 2011-03-24 21:47:23.380397048 +0100 +@@ -24,7 +24,15 @@ + * in this structure and is required for decompressing the LZ compressed + * data in PNG files. + */ ++/* WTF, surely this should depend explicitly on whether using the system or ++ * internal zlib, not on OS... But yeah, so maybe MacOSX, iOS and Android are the only OSes for which ++ * we use a system zlib but internal libpng, at least by default. ++ */ ++#if defined MACOSX || defined IOS || defined ANDROID + #include "zlib.h" ++#else ++#include <external/zlib/zlib.h> ++#endif + + struct png_struct_def + { +--- misc/libpng-1.5.1/pngtest.c 2011-02-03 05:58:17.000000000 +0100 ++++ misc/build/libpng-1.5.1/pngtest.c 2011-03-24 21:47:23.380397048 +0100 +@@ -31,7 +31,12 @@ + * of files at once by typing "pngtest -m file1.png file2.png ..." + */ + ++#if defined MACOSX || defined IOS || defined ANDROID + #include "zlib.h" ++#else ++#include <external/zlib/zlib.h> ++#endif ++ + #include "png.h" + /* Copied from pngpriv.h but only used in error messages below. */ + #ifndef PNG_ZBUF_SIZE +--- misc/libpng-1.5.1/pngvalid.c 2011-02-03 05:58:17.000000000 +0100 ++++ misc/build/libpng-1.5.1/pngvalid.c 2011-03-24 21:47:23.381397048 +0100 +@@ -51,7 +51,11 @@ + #define PNG_READ_16BIT_SUPPORTED + #endif + +-#include "zlib.h" /* For crc32 */ ++#if defined MACOSX || defined IOS || defined ANDROID ++#include "zlib.h" ++#else ++#include <external/zlib/zlib.h> ++#endif + + #include <float.h> /* For floating point constants */ + #include <stdlib.h> /* For malloc */ diff --git a/libpng/makefile.mk b/libpng/makefile.mk new file mode 100755 index 000000000000..f40e3a72921c --- /dev/null +++ b/libpng/makefile.mk @@ -0,0 +1,63 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=libpng +TARGET=libpng + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBPNG)" == "YES" +all: + @echo "An already available installation of libpng should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +LIBPNGVERSION=1.5.1 + +TARFILE_NAME=$(PRJNAME)-$(LIBPNGVERSION) +TARFILE_MD5=220035f111ea045a51e290906025e8b5 + +PATCH_FILES=$(PRJNAME)-$(LIBPNGVERSION).patch +ADDITIONAL_FILES=makefile.mk pnglibconf.h + +#relative to CONFIGURE_DIR + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +OUT2INC=png.h pnglibconf.h pngconf.h pngstruct.h +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/libpng/prj/build.lst b/libpng/prj/build.lst new file mode 100644 index 000000000000..2b1bdf719e74 --- /dev/null +++ b/libpng/prj/build.lst @@ -0,0 +1,3 @@ +lpng libpng : ZLIB:zlib soltools NULL +lpng libpng usr1 - all lpng_mkout NULL +lpng libpng nmake - all lpng_libpng NULL diff --git a/libpng/prj/d.lst b/libpng/prj/d.lst new file mode 100755 index 000000000000..6f59c22d21bf --- /dev/null +++ b/libpng/prj/d.lst @@ -0,0 +1,11 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\libpng + +..\%__SRC%\slb\libpng.lib %_DEST%\lib\libpng.lib +..\%__SRC%\lib\libpng.a %_DEST%\lib\libpng.a + +..\%__SRC%\inc\png.h %_DEST%\inc\external\libpng\png.h +..\%__SRC%\inc\pnglibconf.h %_DEST%\inc\external\libpng\pnglibconf.h +..\%__SRC%\inc\pngconf.h %_DEST%\inc\external\libpng\pngconf.h +..\%__SRC%\inc\pngstruct.h %_DEST%\inc\external\libpng\pngstruct.h + diff --git a/librsvg/librsvg-2.32.1-win32.patch b/librsvg/librsvg-2.32.1-win32.patch new file mode 100644 index 000000000000..0bdf11d57184 --- /dev/null +++ b/librsvg/librsvg-2.32.1-win32.patch @@ -0,0 +1,526 @@ +--- misc/librsvg-2.32.1/librsvg-features.h 2010-11-13 11:52:49.000000000 +0100 ++++ misc/build/librsvg-2.32.1/librsvg-features.h 2011-03-28 16:29:01.357827800 +0200 +@@ -11,7 +11,7 @@ + (LIBRSVG_MAJOR_VERSION == (major) && LIBRSVG_MINOR_VERSION > (minor)) || \ + (LIBRSVG_MAJOR_VERSION == (major) && LIBRSVG_MINOR_VERSION == (minor) && LIBRSVG_MICRO_VERSION >= (micro))) + +-#define LIBRSVG_HAVE_SVGZ (1) ++#define LIBRSVG_HAVE_SVGZ (0) + #define LIBRSVG_HAVE_CSS (1) + + #define LIBRSVG_CHECK_FEATURE(FEATURE) (defined(LIBRSVG_HAVE_##FEATURE) && LIBRSVG_HAVE_##FEATURE) +--- misc/librsvg-2.32.1/rsvg-image.c 2010-09-27 19:18:35.000000000 +0200 ++++ misc/build/librsvg-2.32.1/rsvg-image.c 2011-03-28 20:14:53.630005800 +0200 +@@ -22,8 +22,8 @@ + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +- Authors: Raph Levien <raph@artofcode.com>, +- Dom Lachowicz <cinamod@hotmail.com>, ++ Authors: Raph Levien <raph@artofcode.com>, ++ Dom Lachowicz <cinamod@hotmail.com>, + Caleb Moore <c.moore@student.unsw.edu.au> + */ + +@@ -34,15 +34,167 @@ + #include <math.h> + #include <errno.h> + #include "rsvg-css.h" ++#ifdef HAVE_GIO + #include <gio/gio.h> ++#endif ++ ++static const char s_UTF8_B64Alphabet[64] = { ++ 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, ++ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, /* A-Z */ ++ 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, ++ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, /* a-z */ ++ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, /* 0-9 */ ++ 0x2b, /* + */ ++ 0x2f /* / */ ++}; ++static const char utf8_b64_pad = 0x3d; ++ ++static gboolean ++b64_decode_char (char c, int *b64) ++{ ++ if ((c >= 0x41) && (c <= 0x5a)) { ++ *b64 = c - 0x41; ++ return TRUE; ++ } ++ if ((c >= 0x61) && (c <= 0x7a)) { ++ *b64 = c - (0x61 - 26); ++ return TRUE; ++ } ++ if ((c >= 0x30) && (c <= 0x39)) { ++ *b64 = c + (52 - 0x30); ++ return TRUE; ++ } ++ if (c == 0x2b) { ++ *b64 = 62; ++ return TRUE; ++ } ++ if (c == 0x2f) { ++ *b64 = 63; ++ return TRUE; ++ } ++ return FALSE; ++} ++ ++static gboolean ++utf8_base64_decode (guchar ** binptr, size_t * binlen, const char *b64ptr, size_t b64len) ++{ ++ gboolean decoded = TRUE; ++ gboolean padding = FALSE; ++ ++ int i = 0; ++ glong ucs4_len, j; ++ ++ unsigned char byte1 = 0; ++ unsigned char byte2; ++ ++ gunichar ucs4, *ucs4_str; ++ ++ if (b64len == 0) ++ return TRUE; ++ ++ if ((binptr == 0) || (b64ptr == 0)) ++ return FALSE; ++ ++ ucs4_str = g_utf8_to_ucs4_fast (b64ptr, b64len, &ucs4_len); ++ ++ for (j = 0; j < ucs4_len; j++) { ++ ucs4 = ucs4_str[j]; ++ if ((ucs4 & 0x7f) == ucs4) { ++ int b64; ++ char c = (char) (ucs4); ++ ++ if (b64_decode_char (c, &b64)) { ++ if (padding || (*binlen == 0)) { ++ decoded = FALSE; ++ break; ++ } ++ ++ switch (i) { ++ case 0: ++ byte1 = (unsigned char) (b64) << 2; ++ i++; ++ break; ++ case 1: ++ byte2 = (unsigned char) (b64); ++ byte1 |= byte2 >> 4; ++ *(*binptr)++ = (char) (byte1); ++ (*binlen)--; ++ byte1 = (byte2 & 0x0f) << 4; ++ i++; ++ break; ++ case 2: ++ byte2 = (unsigned char) (b64); ++ byte1 |= byte2 >> 2; ++ *(*binptr)++ = (char) (byte1); ++ (*binlen)--; ++ byte1 = (byte2 & 0x03) << 6; ++ i++; ++ break; ++ default: ++ byte1 |= (unsigned char) (b64); ++ *(*binptr)++ = (char) (byte1); ++ (*binlen)--; ++ i = 0; ++ break; ++ } ++ ++ if (!decoded) ++ break; ++ ++ continue; ++ } else if (c == utf8_b64_pad) { ++ switch (i) { ++ case 0: ++ case 1: ++ decoded = FALSE; ++ break; ++ case 2: ++ if (*binlen == 0) ++ decoded = FALSE; ++ else { ++ *(*binptr)++ = (char) (byte1); ++ (*binlen)--; ++ padding = TRUE; ++ } ++ i++; ++ break; ++ default: ++ if (!padding) { ++ if (*binlen == 0) ++ decoded = FALSE; ++ else { ++ *(*binptr)++ = (char) (byte1); ++ (*binlen)--; ++ padding = TRUE; ++ } ++ } ++ i = 0; ++ break; ++ } ++ if (!decoded) ++ break; ++ ++ continue; ++ } ++ } ++ if (g_unichar_isspace (ucs4)) ++ continue; ++ ++ decoded = FALSE; ++ break; ++ } ++ ++ g_free (ucs4_str); ++ return decoded; ++} + + static GByteArray * + rsvg_acquire_base64_resource (const char *data, GError ** error) + { +- GByteArray *array = NULL; +- gsize data_len, written_len; +- int state = 0; +- guint save = 0; ++ GByteArray *array; ++ ++ guchar *bufptr; ++ size_t buffer_len, buffer_max_len, data_len; + + rsvg_return_val_if_fail (data != NULL, NULL, error); + +@@ -51,10 +203,19 @@ + break; + + data_len = strlen (data); +- array = g_byte_array_sized_new (data_len / 4 * 3); +- written_len = g_base64_decode_step (data, data_len, array->data, +- &state, &save); +- g_byte_array_set_size (array, written_len); ++ ++ buffer_max_len = ((data_len >> 2) + 1) * 3; ++ buffer_len = buffer_max_len; ++ ++ array = g_byte_array_sized_new (buffer_max_len); ++ bufptr = array->data; ++ ++ if (!utf8_base64_decode (&bufptr, &buffer_len, data, data_len)) { ++ g_byte_array_free (array, TRUE); ++ return NULL; ++ } ++ ++ array->len = buffer_max_len - buffer_len; + + return array; + } +@@ -75,7 +236,7 @@ + if (base_filename != NULL) { + tmpcdir = g_path_get_dirname (base_filename); + g_free (base_filename); +- } else ++ } else + return NULL; + } else + tmpcdir = g_get_current_dir (); +@@ -92,8 +253,10 @@ + { + GByteArray *array; + gchar *path; +- gchar *data = NULL; +- gsize length; ++ ++ guchar buffer[4096]; ++ int length; ++ FILE *f; + + rsvg_return_val_if_fail (filename != NULL, NULL, error); + +@@ -101,20 +264,53 @@ + if (path == NULL) + return NULL; + +- if (!g_file_get_contents (path, &data, &length, error)) { +- g_free (path); ++ f = fopen (path, "rb"); ++ g_free (path); ++ ++ if (!f) { ++ g_set_error (error, ++ G_FILE_ERROR, ++ g_file_error_from_errno (errno), ++ _("Failed to open file '%s': %s"), filename, g_strerror (errno)); + return NULL; + } + ++ /* TODO: an optimization is to use the file's size */ + array = g_byte_array_new (); + +- g_byte_array_append (array, (guint8 *)data, length); +- g_free (data); +- g_free (path); ++ while (!feof (f)) { ++ length = fread (buffer, 1, sizeof (buffer), f); ++ if (length > 0) { ++ if (g_byte_array_append (array, buffer, length) == NULL) { ++ fclose (f); ++ g_byte_array_free (array, TRUE); ++ return NULL; ++ } ++ } else if (ferror (f)) { ++ fclose (f); ++ g_byte_array_free (array, TRUE); ++ return NULL; ++ } ++ } ++ ++ fclose (f); + + return array; + } + ++#ifdef HAVE_GIO ++ ++static void ++rsvg_free_error (GError ** err) ++{ ++ if (err) { ++ if (*err) { ++ g_error_free (*err); ++ *err = NULL; ++ } ++ } ++} ++ + static GByteArray * + rsvg_acquire_vfs_resource (const char *filename, const char *base_uri, GError ** error) + { +@@ -133,19 +329,19 @@ + if (base_uri != NULL) { + GFile *base; + +- g_clear_error (error); +- +- g_object_unref (file); ++ rsvg_free_error(error); ++ ++ g_object_unref (file); + + base = g_file_new_for_uri (base_uri); + file = g_file_resolve_relative_path (base, filename); + g_object_unref (base); + +- res = g_file_load_contents (file, NULL, &data, &size, NULL, error); ++ res = g_file_load_contents (file, NULL, &data, &size, NULL, error); + } + } + +- g_object_unref (file); ++ g_object_unref (file); + + if (res) { + array = g_byte_array_new (); +@@ -158,6 +354,7 @@ + + return array; + } ++#endif + + GByteArray * + _rsvg_acquire_xlink_href_resource (const char *href, const char *base_uri, GError ** err) +@@ -173,8 +370,10 @@ + if (!arr) + arr = rsvg_acquire_file_resource (href, base_uri, NULL); + ++#ifdef HAVE_GIO + if (!arr) + arr = rsvg_acquire_vfs_resource (href, base_uri, NULL); ++#endif + + return arr; + } +@@ -274,10 +473,9 @@ + RsvgNodeImage *z = (RsvgNodeImage *) self; + rsvg_state_finalize (z->super.state); + g_free (z->super.state); +- z->super.state = NULL; + if (z->img) +- g_object_unref (z->img); +- _rsvg_node_free(self); ++ g_object_unref (G_OBJECT (z->img)); ++ g_free (z); + } + + static void +@@ -300,7 +498,7 @@ + + rsvg_push_discrete_layer (ctx); + +- if (!rsvg_current_state (ctx)->overflow && (aspect_ratio & RSVG_ASPECT_RATIO_SLICE)) { ++ if (!rsvg_current_state(ctx)->overflow && (aspect_ratio & RSVG_ASPECT_RATIO_SLICE)) { + rsvg_add_clipping_rect (ctx, x, y, w, h); + } + +@@ -357,10 +555,11 @@ + RsvgNodeImage *image; + image = g_new (RsvgNodeImage, 1); + _rsvg_node_init (&image->super); +- g_assert (image->super.state); + image->img = NULL; + image->preserve_aspect_ratio = RSVG_ASPECT_RATIO_XMID_YMID; + image->x = image->y = image->w = image->h = _rsvg_css_parse_length ("0"); ++ image->super.state = g_new (RsvgState, 1); ++ rsvg_state_init (image->super.state); + image->super.free = rsvg_node_image_free; + image->super.draw = rsvg_node_image_draw; + image->super.set_atts = rsvg_node_image_set_atts; +--- misc/librsvg-2.32.1/config.h 2011-03-28 20:38:20.301880800 +0200 ++++ misc/build/librsvg-2.32.1/config.h 2011-03-28 20:40:54.958130800 +0200 +@@ -1 +1,27 @@ +-dummy ++#define HAVE_FLOAT_H 1 ++/* #undef ENABLE_XEMBED */ ++/* #undef HAVE_BASENAME */ ++/* #undef HAVE_DLFCN_H */ ++#define HAVE_GIO 1 ++/* #undef HAVE_INTTYPES_H */ ++/* #undef HAVE_LC_MESSAGES */ ++#define HAVE_LOCALE_H 1 ++#define HAVE_MEMORY_H 1 ++/* #undef HAVE_STDINT_H */ ++#define HAVE_STDLIB_H 1 ++/* #undef HAVE_STRINGS_H */ ++#define HAVE_STRING_H 1 ++/* #undef HAVE_STRTOK_R */ ++#define HAVE_SYS_STAT_H 1 ++#define HAVE_SYS_TYPES_H 1 ++/* #undef HAVE_UNISTD_H */ ++ ++#define PACKAGE "librsvg" ++#define PACKAGE_BUGREPORT "" ++#define PACKAGE_NAME "" ++#define PACKAGE_STRING "" ++#define PACKAGE_TARNAME "" ++#define PACKAGE_VERSION "" ++#define VERSION "2.32.1" ++#define STDC_HEADERS 1 ++#define X_DISPLAY_MISSING 1 +--- misc/librsvg-2.32.1/makefile.mk 2011-03-28 20:38:20.489380800 +0200 ++++ misc/build/librsvg-2.32.1/makefile.mk 2011-03-28 20:40:38.786255800 +0200 +@@ -1 +1,111 @@ +-dummy ++#************************************************************************* ++# ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# Copyright 2000, 2010 Oracle and/or its affiliates. ++# ++# OpenOffice.org - a multi-platform office productivity suite ++# ++# This file is part of OpenOffice.org. ++# ++# OpenOffice.org is free software: you can redistribute it and/or modify ++# it under the terms of the GNU Lesser General Public License version 3 ++# only, as published by the Free Software Foundation. ++# ++# OpenOffice.org is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU Lesser General Public License version 3 for more details ++# (a copy is included in the LICENSE file that accompanied this code). ++# ++# You should have received a copy of the GNU Lesser General Public License ++# version 3 along with OpenOffice.org. If not, see ++# <http://www.openoffice.org/license.html> ++# for a copy of the LGPLv3 License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++PRJINC=. ++PRJNAME=librsvg ++TARGET=librsvg-2-2 ++ ++VISIBILITY_HIDDEN=TRUE ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ---------------------------------- ++ ++.INCLUDE : settings.mk ++ ++CFLAGS+= -DHAVE_GSF -DHAVE_LIBCROCO \ ++ -I. -I$(SOLARINCDIR)$/external/glib-2.0 \ ++ -I. -I$(SOLARINCDIR)$/external/gdk-pixbuf-2.0 \ ++ -I$(SOLARINCDIR)$/external/pango-1.0 \ ++ -I$(SOLARINCDIR)$/external/cairo \ ++ -I$(SOLARINCDIR)$/external/libgsf-1 \ ++ -I$(SOLARINCDIR)$/external/libcroco-0.6 ++ ++# --- Files ------------------------------------- ++ ++SLOFILES=\ ++ $(SLO)$/librsvg-enum-types.obj \ ++ $(SLO)$/librsvg-features.obj \ ++ $(SLO)$/rsvg-affine.obj \ ++ $(SLO)$/rsvg-base-file-util.obj \ ++ $(SLO)$/rsvg-base.obj \ ++ $(SLO)$/rsvg-bpath-util.obj \ ++ $(SLO)$/rsvg-cairo-clip.obj \ ++ $(SLO)$/rsvg-cairo-draw.obj \ ++ $(SLO)$/rsvg-cairo-render.obj \ ++ $(SLO)$/rsvg-cond.obj \ ++ $(SLO)$/rsvg-convert.obj \ ++ $(SLO)$/rsvg-css.obj \ ++ $(SLO)$/rsvg-defs.obj \ ++ $(SLO)$/rsvg-file-util.obj \ ++ $(SLO)$/rsvg-filter.obj \ ++ $(SLO)$/rsvg-gobject.obj \ ++ $(SLO)$/rsvg-image.obj \ ++ $(SLO)$/rsvg-marker.obj \ ++ $(SLO)$/rsvg-mask.obj \ ++ $(SLO)$/rsvg-paint-server.obj \ ++ $(SLO)$/rsvg-path.obj \ ++ $(SLO)$/rsvg-shapes.obj \ ++ $(SLO)$/rsvg-structure.obj \ ++ $(SLO)$/rsvg-styles.obj \ ++ $(SLO)$/rsvg-text.obj \ ++ $(SLO)$/rsvg-xml.obj \ ++ $(SLO)$/rsvg.obj ++ ++# --- Library ----------------------------------- ++ ++SHL1TARGET= $(TARGET) ++SHL1OBJS=$(SLOFILES) ++SHL1STDLIBS=\ ++ intl.lib \ ++ gobject-2.0.lib \ ++ gmodule-2.0.lib \ ++ glib-2.0.lib \ ++ gio-2.0.lib \ ++ gthread-2.0.lib \ ++ gdk_pixbuf-2.0.lib \ ++ cairo.lib \ ++ libxml2.lib \ ++ igsf-1.lib \ ++ libcroco-0.6-3.lib \ ++ pango-1.0.lib \ ++ pangocairo-1.0.lib ++ ++SHL1IMPLIB= i$(TARGET) ++SHL1DEF= $(MISC)$/$(SHL1TARGET).def ++DEF1NAME= $(SHL1TARGET) ++DEF1DEPN= $(MISC)$/$(SHL1TARGET).flt $(SLB)$/$(TARGET).lib ++DEFLIB1NAME= $(TARGET) ++ ++# --- Targets ---------------------------------- ++ ++.INCLUDE : target.mk ++ ++# --- filter file ------------------------------ ++ ++$(MISC)$/$(SHL1TARGET).flt: makefile.mk ++ @echo CLEAR_THE_FILE > $@ diff --git a/librsvg/librsvg-2.32.1.patch b/librsvg/librsvg-2.32.1.patch new file mode 100644 index 000000000000..2d9fc0fc216a --- /dev/null +++ b/librsvg/librsvg-2.32.1.patch @@ -0,0 +1,60 @@ +--- misc/librsvg-2.32.1/configure 2010-11-13 11:52:19.000000000 +0100 ++++ misc/build/librsvg-2.32.1/configure 2011-03-03 14:28:12.000000000 +0100 +@@ -12288,8 +12288,8 @@ + + + +-GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` +- ++#GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` ++GLIB_MKENUMS=glib-mkenums + + + pkg_failed=no +@@ -12562,6 +12562,7 @@ + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gio 2.24 is available" >&5 + $as_echo_n "checking whether gio 2.24 is available... " >&6; } ++if false; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gio-2.0 >= 2.24.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gio-2.0 >= 2.24.0") 2>&5 +@@ -12572,6 +12573,9 @@ + else + have_gio_2_24=no + fi ++else ++ have_gio_2_24=yes ++fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gio_2_24" >&5 + $as_echo "$have_gio_2_24" >&6; } + +@@ -12695,8 +12699,8 @@ + + + +-LIBCROCO_CFLAGS="" +-LIBCROCO_LIBS="" ++#LIBCROCO_CFLAGS="" ++#LIBCROCO_LIBS="" + LIBCROCOPKG="" + + test_croco=true +@@ -13376,13 +13380,13 @@ + + + +-GLIB_PREFIX=$($PKG_CONFIG --variable=prefix glib-2.0) ++#GLIB_PREFIX=$($PKG_CONFIG --variable=prefix glib-2.0) + +-GDK_PIXBUF_PREFIX=$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0) ++#GDK_PIXBUF_PREFIX=$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0) + +-GTK_PREFIX=$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0) ++#GTK_PREFIX=$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0) + +-CAIRO_PREFIX=$($PKG_CONFIG --variable=prefix cairo) ++#CAIRO_PREFIX=$($PKG_CONFIG --variable=prefix cairo) + + + diff --git a/librsvg/makefile.mk b/librsvg/makefile.mk new file mode 100755 index 000000000000..63f45e3e6f3d --- /dev/null +++ b/librsvg/makefile.mk @@ -0,0 +1,116 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=librsvg +TARGET=so_librsvg + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBRSVG)" == "YES" +all: + @echo "An already available installation of librsvg should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +LIBRSVGVERSION=2.32.1 + +TARFILE_NAME=$(PRJNAME)-$(LIBRSVGVERSION) +TARFILE_MD5=d7a242ca43e33e1b63d3073f9d46a6a8 + +.IF "$(OS)" == "MACOSX" || "$(OS)" == "WNT" + +.IF "$(OS)" == "MACOSX" + +PATCH_FILES=librsvg-2.32.1.patch + +.IF "$(LIBXML_LIBS)" == "" +LIBXML_LIBS=-lxml2 +.ENDIF + +CONFIGURE_LDFLAGS=-L$(SOLARLIBDIR) $(eq,$(OS),MACOSX $(EXTRA_LINKFLAGS) $(NULL)) +CONFIGURE_DIR= +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure \ + --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) +CONFIGURE_FLAGS=--disable-gtk-theme --disable-tools --with-croco --with-svgz \ + --disable-pixbuf-loader --disable-dependency-tracking $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) \ + LIBRSVG_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/gdk-pixbuf-2.0 -I$(SOLARINCDIR)/external/pango-1.0 -I$(SOLARINCDIR)/cairo $(LIBXML_CFLAGS)" \ + LIBRSVG_LIBS="-L$(SOLARLIBDIR) -lgdk_pixbuf-2.0 -lpango-1.0 -lpangocairo-1.0 -lgthread-2.0 -lgio-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 $(LIBXML_LIBS) -lcairo -lintl" \ + GDK_PIXBUF_CFLAGS="-I$(SOLARINCDIR)/external/gdk-pixbuf-2.0" \ + GDK_PIXBUF_LIBS=-lgdk_pixbuf-2.0 \ + GTHREAD_CFLAGS=-I$(SOLARINCDIR)/external/glib-2.0 \ + GTHREAD_LIBS=-lgthread-2.0 \ + LIBCROCO_CFLAGS="-I$(SOLARINCDIR)/external/libcroco-0.6" \ + LIBCROCO_LIBS=-lcroco-0.6 \ + CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0 -I$(SOLARINCDIR)/external/gdk-pixbuf-2.0 -I$(SOLARINCDIR)/external/pango-1.0 -I$(SOLARINCDIR)/cairo" \ + LDFLAGS="$(CONFIGURE_LDFLAGS)" + +CONFIGURE_FLAGS+= CPPFLAGS="$(ARCH_FLAGS) $(EXTRA_CDEFS)" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) \ + $(GNUMAKE) $(!eq,$(VERBOSE),$(NULL) V=1) -j$(MAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) + +EXTRPATH=LOADER +OUT2LIB+=.libs/librsvg-2.2.dylib + +OUT2INC+=librsvg-enum-types.h +OUT2INC+=librsvg-features.h +OUT2INC+=rsvg-cairo.h +OUT2INC+=rsvg.h + +.ELIF "$(OS)"=="WNT" + +PATCH_FILES=librsvg-2.32.1-win32.patch +ADDITIONAL_FILES=config.h makefile.mk + +BUILD_DIR=. +BUILD_ACTION=dmake + +OUT2INC+=librsvg-enum-types.h +OUT2INC+=librsvg-features.h +OUT2INC+=rsvg-cairo.h +OUT2INC+=rsvg.h + +.ENDIF + +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/librsvg/prj/build.lst b/librsvg/prj/build.lst new file mode 100644 index 000000000000..05eaffd0085b --- /dev/null +++ b/librsvg/prj/build.lst @@ -0,0 +1,3 @@ +rg librsvg : LIBXML2:libxml2 pango libcroco libgsf cairo gdk-pixbuf glib gettext soltools NULL +rg librsvg usr1 - all rg_mkout NULL +rg librsvg nmake - all rg_librsvg NULL diff --git a/librsvg/prj/d.lst b/librsvg/prj/d.lst new file mode 100755 index 000000000000..710e55542f85 --- /dev/null +++ b/librsvg/prj/d.lst @@ -0,0 +1,14 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\librsvg-2.0 +mkdir: %_DEST%\inc\external\librsvg-2.0\librsvg + +..\%__SRC%\inc\rsvg.h %_DEST%\inc\external\librsvg-2.0\librsvg\rsvg.h +..\%__SRC%\inc\rsvg-cairo.h %_DEST%\inc\external\librsvg-2.0\librsvg\rsvg-cairo.h +..\%__SRC%\inc\rsvg-features.h %_DEST%\inc\external\librsvg-2.0\librsvg\rsvg-features.h +..\%__SRC%\inc\rsvg-enum-types.h %_DEST%\inc\external\librsvg-2.0\librsvg\rsvg-enum-types.h + +..\%__SRC%\lib\librsvg-2.2.dylib %_DEST%\lib\librsvg-2.2.dylib +symlink: %_DEST%\lib\librsvg-2.2.dylib %_DEST%\lib\librsvg-2.dylib + +..\%__SRC%\lib\ilibrsvg-2-2.lib %_DEST%\lib\librsvg-2-2.lib +..\%__SRC%\bin\librsvg-2-2.dll %_DEST%\bin\librsvg-2-2.dll diff --git a/libxml2/libxml2-aix.patch b/libxml2/libxml2-aix.patch new file mode 100644 index 000000000000..d187ea0f807f --- /dev/null +++ b/libxml2/libxml2-aix.patch @@ -0,0 +1,21 @@ +--- misc/libxml2-2.7.6/config.guess 2010-09-15 14:53:52.000000000 -0500 ++++ misc/build/libxml2-2.7.6/config.guess 2010-09-15 14:56:09.000000000 -0500 +@@ -548,7 +548,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[456]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -560,6 +560,9 @@ + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi ++ if [ "$IBM_REV" == "V7BETA" ]; then ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) diff --git a/libxml2/libxml2-configure.patch b/libxml2/libxml2-configure.patch new file mode 100644 index 000000000000..8694b6a4d328 --- /dev/null +++ b/libxml2/libxml2-configure.patch @@ -0,0 +1,143 @@ +--- misc/libxml2-2.7.6/config.sub ++++ misc/build/libxml2-2.7.6/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/libxml2-2.7.6/Makefile.in ++++ misc/build/libxml2-2.7.6/Makefile.in +@@ -41,9 +41,9 @@ + testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \ + testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \ + testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \ +- testapi$(EXEEXT) testModule$(EXEEXT) runtest$(EXEEXT) \ ++ testapi$(EXEEXT) testModule$(EXEEXT) \ + runsuite$(EXEEXT) testchar$(EXEEXT) testdict$(EXEEXT) \ +- runxmlconf$(EXEEXT) testrecurse$(EXEEXT) ++ runxmlconf$(EXEEXT) + bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT) + subdir = . + DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ +--- misc/libxml2-2.7.6/ltmain.sh 2009-10-06 17:39:54.000000000 +0100 ++++ misc/build/libxml2-2.7.6/ltmain.sh 2009-12-17 11:43:56.000000000 +0000 +@@ -6271,8 +6271,8 @@ + ;; + + freebsd-elf) +- major=".$current" +- versuffix=".$current" ++ major=.`expr $current - $age` ++ versuffix=".$major.$age.$revision"; + ;; + + irix | nonstopux) +--- misc/libxml2-2.7.6/include/libxml/xmlversion.h 2009-12-17 11:45:19.000000000 +0000 ++++ misc/build/libxml2-2.7.6/include/libxml/xmlversion.h 2009-12-17 11:45:36.000000000 +0000 +@@ -264,7 +264,7 @@ + * + * Whether iconv support is available + */ +-#if 1 ++#if 0 + #define LIBXML_ICONV_ENABLED + #endif + +@@ -282,7 +282,7 @@ + * + * Whether Debugging module is configured in + */ +-#if 1 ++#if 0 + #define LIBXML_DEBUG_ENABLED + #endif + +@@ -291,7 +291,7 @@ + * + * Whether the memory debugging is configured in + */ +-#if 1 ++#if 0 + #define DEBUG_MEMORY_LOCATION + #endif + +@@ -300,7 +300,7 @@ + * + * Whether the runtime debugging is configured in + */ +-#if 1 ++#if 0 + #define LIBXML_DEBUG_RUNTIME + #endif + +--- misc/libxml2-2.7.6/xml2-config.in 2009-12-17 11:45:20.000000000 +0000 ++++ misc/build/libxml2-2.7.6/xml2-config.in 2009-12-17 11:45:36.000000000 +0000 +@@ -1,9 +1,14 @@ + #! /bin/sh + +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-includedir=@includedir@ +-libdir=@libdir@ ++#prefix=@prefix@ ++#exec_prefix=@exec_prefix@ ++#includedir=@includedir@ ++#libdir=@libdir@ ++ ++prefix=${SOLARVERSION}/${INPATH} ++exec_prefix=${SOLARVERSION}/${INPATH} ++includedir=${SOLARVERSION}/${INPATH}/inc${UPDMINOREXT}/external ++libdir=${SOLARVERSION}/${INPATH}/lib${UPDMINOREXT} + + usage() + { +@@ -67,7 +72,8 @@ + ;; + + --cflags) +- echo @XML_INCLUDEDIR@ @XML_CFLAGS@ ++ echo -I${includedir} ++# echo @XML_INCLUDEDIR@ @XML_CFLAGS@ + ;; + + --libtool-libs) +@@ -82,19 +88,24 @@ + ;; + + --libs) +- if [ "`uname`" = "Linux" ] +- then +- if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ] +- then +- echo @XML_LIBS@ +- else +- echo @XML_LIBDIR@ @XML_LIBS@ +- fi +- else +- echo @XML_LIBDIR@ @XML_LIBS@ @WIN32_EXTRA_LIBADD@ +- fi ++ echo -L${libdir} ${LIBXML2LIB} -lm ++# if [ "`uname`" = "Linux" ] ++# then ++# if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ] ++# then ++# echo @XML_LIBS@ ++# else ++# echo @XML_LIBDIR@ @XML_LIBS@ ++# fi ++# else ++# echo @XML_LIBDIR@ @XML_LIBS@ @WIN32_EXTRA_LIBADD@ ++# fi + ;; + ++ print) # ugly configure hack ++ exit 0 ++ ;; ++ + *) + usage + exit 1 diff --git a/libxml2/libxml2-global-symbols.patch b/libxml2/libxml2-global-symbols.patch new file mode 100644 index 000000000000..20cd273d745c --- /dev/null +++ b/libxml2/libxml2-global-symbols.patch @@ -0,0 +1,59 @@ +--- misc/libxml2-2.7.6/libxml2.syms Tue Oct 6 18:31:35 2009 ++++ misc/build/libxml2-2.7.6/libxml2.syms Wed Jul 7 15:43:17 2010 +@@ -2184,10 +2184,10 @@ + } LIBXML2_2.6.27; + + LIBXML2_2.6.29 { +- global: ++# global: + + # threads +- xmlDllMain; ++#WIN32 only! xmlDllMain; + } LIBXML2_2.6.28; + + LIBXML2_2.6.32 { +@@ -2231,3 +2231,43 @@ + xmlXIncludeProcessTreeFlagsData; + } LIBXML2_2.7.3; + ++# HACK: export global variable accessor functions (globals.h) ++LIBXML2_GLOBAL_VARIABLES { ++ global: ++# __xmlMalloc; ++# __xmlMallocAtomic; ++# __xmlRealloc; ++# __xmlFree; ++# __xmlMemStrdup; ++ __docbDefaultSAXHandler; ++ __htmlDefaultSAXHandler; ++ __xmlLastError; ++ __oldXMLWDcompatibility; ++ __xmlBufferAllocScheme; ++ __xmlDefaultBufferSize; ++ __xmlDefaultSAXHandler; ++ __xmlDefaultSAXLocator; ++ __xmlDoValidityCheckingDefaultValue; ++ __xmlGenericError; ++ __xmlStructuredError; ++ __xmlGenericErrorContext; ++ __xmlStructuredErrorContext; ++ __xmlGetWarningsDefaultValue; ++ __xmlIndentTreeOutput; ++ __xmlTreeIndentString; ++ __xmlKeepBlanksDefaultValue; ++ __xmlLineNumbersDefaultValue; ++ __xmlLoadExtDtdDefaultValue; ++ __xmlParserDebugEntities; ++ __xmlParserVersion; ++ __xmlPedanticParserDefaultValue; ++ __xmlSaveNoEmptyTags; ++ __xmlSubstituteEntitiesDefaultValue; ++ __xmlRegisterNodeDefaultValue; ++ __xmlDeregisterNodeDefaultValue; ++ __xmlParserInputBufferCreateFilenameValue; ++ __xmlOutputBufferCreateFilenameValue; ++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local") ++ local: ++ *; ++} LIBXML2_2.7.4; diff --git a/libxml2/libxml2-gnome599717.patch b/libxml2/libxml2-gnome599717.patch new file mode 100644 index 000000000000..cc6617d0e699 --- /dev/null +++ b/libxml2/libxml2-gnome599717.patch @@ -0,0 +1,20 @@ +--- misc/libxml2-2.7.6/relaxng.c 2009-12-17 11:53:12.000000000 +0000 ++++ misc/build/libxml2-2.7.6/relaxng.c 2009-12-17 16:30:43.000000000 +0000 +@@ -5369,7 +5369,7 @@ + } else { + xmlRngPErr(ctxt, node, XML_RNGP_CHOICE_CONTENT, + "expecting name, anyName, nsName or choice : got %s\n", +- (node == NULL ? "nothing" : node->name), NULL); ++ (node == NULL ? BAD_CAST "nothing" : node->name), NULL); + return (NULL); + } + if (ret != def) { +@@ -9459,7 +9459,7 @@ + ctxt->states = NULL; + if (found == 0) { + if (cur == NULL) { +- VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, "noname"); ++ VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, BAD_CAST "noname"); + } else { + VALID_ERR2(XML_RELAXNG_ERR_INTEREXTRA, cur->name); + } diff --git a/libxml2/libxml2-long-path.patch b/libxml2/libxml2-long-path.patch new file mode 100644 index 000000000000..bd888d99e183 --- /dev/null +++ b/libxml2/libxml2-long-path.patch @@ -0,0 +1,34 @@ +--- misc/libxml2-2.7.6/uri.c 2009-10-02 17:28:55.000000000 +0200 ++++ misc/build/libxml2-2.7.6/uri.c 2011-02-24 13:47:19.349299000 +0100 +@@ -2479,7 +2479,16 @@ + if (path == NULL) + return(NULL); + +- /* sanitize filename starting with // so it can be used as URI */ ++#if defined(_WIN32) ++ //We must not change the backslashes to slashes if the the path starts with ++ // \\?\ ++ //Those pathes can be up to 32k characters long. ++ len = xmlStrlen(path); ++ if ((len > 3) && (path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') && (path[3] == '\\') ) ++ return xmlStrdup((const xmlChar *) path); ++#endif ++ ++ /* sanitize filename starting with // so it can be used as URI */ + if ((path[0] == '/') && (path[1] == '/') && (path[2] != '/')) + path++; + +--- misc/libxml2-2.7.6/xmlIO.c 2009-09-24 17:32:00.000000000 +0200 ++++ misc/build/libxml2-2.7.6/xmlIO.c 2011-02-24 13:47:26.163762000 +0100 +@@ -772,6 +772,11 @@ + + #ifdef HAVE_STAT + #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__) ++ //On Windows stat and wstat do not work with long pathname, ++ //which start with '\\?\' ++ if ((xmlStrlen(path) > 3) && (path[0] == '\\') && (path[1] == '\\') && (path[2] == '?') && (path[3] == '\\') ) ++ return 1; ++ + if (xmlWrapStat(path, &stat_buffer) == -1) + return 0; + #else diff --git a/libxml2/libxml2-mingw.patch b/libxml2/libxml2-mingw.patch new file mode 100644 index 000000000000..651b0c13f1bb --- /dev/null +++ b/libxml2/libxml2-mingw.patch @@ -0,0 +1,48 @@ +--- misc/libxml2-2.7.6/configure 2008-01-11 17:01:56.000000000 +0900 ++++ misc/build/libxml2-2.7.6/configure 2009-09-07 20:48:47.656250000 +0900 +@@ -19914,6 +19914,8 @@ + + if test "$with_modules" != "no" ; then + case "$host" in ++ *-*-mingw*) ++ ;; + *-*-cygwin*) + MODULE_EXTENSION=".dll" + { $as_echo "$as_me:$LINENO: checking for dlopen in -lcygwin" >&5 +@@ -20632,11 +20636,10 @@ + + fi + case $host_os in +- *mingw32*) if test "$THREAD_LIBS" != "-lpthread"; then ++ *mingw32*) + WITH_THREADS="1" + THREADS_W32="Win32" + THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS" +- fi + ;; + *cygwin*) THREAD_LIBS="" + ;; +--- misc/libxml2-2.7.6/libxml.h 2007-11-23 19:47:23.000000000 +0900 ++++ misc/build/libxml2-2.7.6/libxml.h 2009-07-10 14:37:34.988250000 +0900 +@@ -30,6 +30,10 @@ + #include <libxml/xmlversion.h> + #else + #include "config.h" ++#ifdef __MINGW32__ ++#undef HAVE_LIBPTHREAD ++#undef HAVE_PTHREAD_H ++#endif + #include <libxml/xmlversion.h> + #endif + +--- misc/libxml2-2.7.6/include/libxml/xmlexports.h 2009-09-25 00:31:59.000000000 +0900 ++++ misc/build/libxml2-2.7.6/include/libxml/xmlexports.h 2010-06-06 11:15:54.160750000 +0900 +@@ -113,7 +113,7 @@ + * _imp__xmlFree listed as missing. Try to workaround the problem + * by also making that declaration when compiling client code. + */ +- #if !defined(LIBXML_STATIC) ++ #if defined(IN_LIBXML) && !defined(LIBXML_STATIC) + #define XMLPUBFUN __declspec(dllexport) + #define XMLPUBVAR __declspec(dllexport) + #else diff --git a/libxml2/libxml2-vc10.patch b/libxml2/libxml2-vc10.patch new file mode 100755 index 000000000000..54d12f19c484 --- /dev/null +++ b/libxml2/libxml2-vc10.patch @@ -0,0 +1,15 @@ +--- misc/build/libxml2-2.7.6/win32/Makefile.msvc.old 2010-09-20 20:22:41.500000000 +0200 ++++ misc/build/libxml2-2.7.6/win32/Makefile.msvc 2010-09-20 20:23:00.250000000 +0200 +@@ -91,8 +91,12 @@ + LDFLAGS = $(LDFLAGS) /DEBUG + !else + CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 ++!if "$(_NMAKE_VER)" >= "10.00.30319.01" ++LDFLAGS = $(LDFLAGS) ++!else + LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 + !endif ++!endif + + # Libxml object files. + XML_OBJS = $(XML_INTDIR)\c14n.obj\ diff --git a/libxml2/libxml2-xpath.patch b/libxml2/libxml2-xpath.patch new file mode 100644 index 000000000000..107de91ed862 --- /dev/null +++ b/libxml2/libxml2-xpath.patch @@ -0,0 +1,70 @@ +--- misc/libxml2-2.7.6/xpath.c 2009-09-24 17:32:00.000000000 +0200 ++++ misc/build/libxml2-2.7.6/xpath.c 2011-01-03 17:21:08.788256100 +0100 +@@ -8106,9 +8106,17 @@ + xmlNodePtr + xmlXPathNextFollowing(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) { + if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL); +- if (cur != NULL && cur->children != NULL) +- return cur->children ; +- if (cur == NULL) cur = ctxt->context->node; ++ if ((cur != NULL) && (cur->type != XML_ATTRIBUTE_NODE) && ++ (cur->type != XML_NAMESPACE_DECL) && (cur->children != NULL)) ++ return(cur->children); ++ ++ if (cur == NULL) { ++ cur = ctxt->context->node; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return(NULL); ++ if (cur->type == XML_ATTRIBUTE_NODE) ++ cur = cur->parent; ++ } + if (cur == NULL) return(NULL) ; /* ERROR */ + if (cur->next != NULL) return(cur->next) ; + do { +@@ -8162,8 +8170,13 @@ + xmlXPathNextPreceding(xmlXPathParserContextPtr ctxt, xmlNodePtr cur) + { + if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL); +- if (cur == NULL) ++ if (cur == NULL) { + cur = ctxt->context->node; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return(NULL); ++ if (cur->type == XML_ATTRIBUTE_NODE) ++ return(cur->parent); ++ } + if (cur == NULL) + return (NULL); + if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) +@@ -8207,8 +8220,8 @@ + cur = ctxt->context->node; + if (cur == NULL) + return (NULL); +- if (cur->type == XML_NAMESPACE_DECL) +- cur = (xmlNodePtr)((xmlNsPtr)cur)->next; ++ if (cur->type == XML_NAMESPACE_DECL) ++ return (NULL); + ctxt->ancestor = cur->parent; + } + if ((cur->prev != NULL) && (cur->prev->type == XML_DTD_NODE)) +@@ -11737,11 +11750,16 @@ + + if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) { + xmlXPathObjectPtr tmp; +- /* pop the result */ ++ /* pop the result if any */ + tmp = valuePop(ctxt); +- xmlXPathReleaseObject(xpctxt, tmp); +- /* then pop off contextObj, which will be freed later */ +- valuePop(ctxt); ++ if (tmp != contextObj) { ++ /* ++ * Free up the result ++ * then pop off contextObj, which will be freed later ++ */ ++ xmlXPathReleaseObject(xpctxt, tmp); ++ valuePop(ctxt); ++ } + goto evaluation_error; + } + diff --git a/libxml2/makefile.mk b/libxml2/makefile.mk new file mode 100644 index 000000000000..0eb08019f1b6 --- /dev/null +++ b/libxml2/makefile.mk @@ -0,0 +1,151 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=libxml2 +TARGET=so_libxml2 + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBXML)" == "YES" +all: + @echo "An already available installation of libxml should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +LIBXML2VERSION=2.7.6 + +TARFILE_NAME=$(PRJNAME)-$(LIBXML2VERSION) +TARFILE_MD5=7740a8ec23878a2f50120e1faa2730f2 + +# libxml2-global-symbols: #i112480#: Solaris ld won't export non-listed symbols +PATCH_FILES=libxml2-configure.patch \ + libxml2-mingw.patch \ + libxml2-gnome599717.patch \ + libxml2-xpath.patch \ + libxml2-global-symbols.patch \ + libxml2-aix.patch \ + libxml2-vc10.patch + +.IF "$(OS)" == "WNT" +PATCH_FILES+= libxml2-long-path.patch +.ENDIF + +# This is only for UNX environment now + +.IF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +xml2_CC=$(CC) -mthreads +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +xml2_CC+=-shared-libgcc +.ENDIF +xml2_LIBS=-lws2_32 +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +xml2_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump +BUILD_ACTION=$(GNUMAKE) +BUILD_DIR=$(CONFIGURE_DIR) +.ELSE +CONFIGURE_DIR=win32 +CONFIGURE_ACTION=cscript configure.js +CONFIGURE_FLAGS=iconv=no sax1=yes +.IF "$(debug)"!="" +CONFIGURE_FLAGS+=debug=yes +.ENDIF +BUILD_ACTION=nmake +BUILD_DIR=$(CONFIGURE_DIR) +.ENDIF +.ELSE +.IF "$(SYSBASE)"!="" +xml2_CFLAGS+=-I$(SYSBASE)$/usr$/include +.IF "$(COMNAME)"=="sunpro5" +xml2_CFLAGS+=$(ARCH_FLAGS) $(C_RESTRICTIONFLAGS) +.ENDIF # "$(COMNAME)"=="sunpro5" +xml2_LDFLAGS+=-L$(SYSBASE)$/usr$/lib +.ENDIF # "$(SYSBASE)"!="" + +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +.IF "$(OS)"=="IOS" +CONFIGURE_FLAGS=--disable-shared +.ELSE +CONFIGURE_FLAGS=--disable-static +.ENDIF +CONFIGURE_FLAGS+=--enable-ipv6=no --without-python --without-zlib --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)" +BUILD_ACTION=$(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.IF "$(debug)"!="" +CONFIGURE_FLAGS+=--with-mem-debug --with-run-debug +.ENDIF +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF +.ENDIF + + +OUTDIR2INC=include$/libxml + +.IF "$(OS)"=="MACOSX" +EXTRPATH=URELIB +OUT2LIB+=.libs$/libxml2.*.dylib +OUT2BIN+=.libs$/xmllint +OUT2BIN+=xml2-config +.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +OUT2LIB+=.libs$/libxml2.a +OUT2BIN+=xml2-config +.ELIF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +OUT2LIB+=.libs$/libxml2*.a +OUT2BIN+=.libs$/libxml2*.dll +OUT2BIN+=.libs$/xmllint.exe +OUT2BIN+=xml2-config +.ELSE +OUT2LIB+=win32$/bin.msvc$/*.lib +OUT2BIN+=win32$/bin.msvc$/*.dll +OUT2BIN+=win32$/bin.msvc$/xmllint.exe +.ENDIF +.ELSE +OUT2LIB+=.libs$/libxml2.so* +OUT2BIN+=.libs$/xmllint +OUT2BIN+=xml2-config +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/libxml2/prj/build.lst b/libxml2/prj/build.lst new file mode 100644 index 000000000000..01d9b3fdee1b --- /dev/null +++ b/libxml2/prj/build.lst @@ -0,0 +1,3 @@ +lx libxml2 : soltools NULL +lx libxml2 usr1 - all lx_mkout NULL +lx libxml2 nmake - all lx_libxml2 NULL diff --git a/libxml2/prj/d.lst b/libxml2/prj/d.lst new file mode 100644 index 000000000000..e28c52e22415 --- /dev/null +++ b/libxml2/prj/d.lst @@ -0,0 +1,10 @@ +mkdir: %_DEST%\inc\external\libxml +..\%__SRC%\inc\libxml\*.h %_DEST%\inc\external\libxml\*.h +..\%__SRC%\lib\libxml2.so.2 %_DEST%\lib\libxml2.so.2 +symlink: %_DEST%\lib\libxml2.so.2 %_DEST%\lib\libxml2.so +..\%__SRC%\lib\*.lib %_DEST%\lib +..\%__SRC%\lib\libxml2.dll.a %_DEST%\lib\libxml2.dll.a +..\%__SRC%\lib\libxml2.a %_DEST%\lib\libxml2.a +..\%__SRC%\bin\*.dll %_DEST%\bin +..\%__SRC%\bin\xmllint* %_DEST%\bin +..\%__SRC%\bin\xml2-config* %_DEST%\bin diff --git a/libxslt/dummy/bin/xml2-config b/libxslt/dummy/bin/xml2-config new file mode 100755 index 000000000000..4ee8dd0206c5 --- /dev/null +++ b/libxslt/dummy/bin/xml2-config @@ -0,0 +1,17 @@ +#!/bin/sh + +# Use flags found out by configure when we *don't* want +# to use the "system" xml2-config in $PATH + +case $1 in +--cflags) + echo $LIBXML_CFLAGS + ;; +--libs) + echo $LIBXML_LIBS + ;; +--version) + # Assume it's close enough to the system version... + xml2-config --version + ;; +esac diff --git a/libxslt/libxslt-aix.patch b/libxslt/libxslt-aix.patch new file mode 100644 index 000000000000..fe38f7bb7e73 --- /dev/null +++ b/libxslt/libxslt-aix.patch @@ -0,0 +1,21 @@ +--- misc/libxslt-1.1.26/config.guess 2010-09-16 02:40:03.000000000 -0500 ++++ misc/build/libxslt-1.1.26/config.guess 2010-09-16 02:41:43.000000000 -0500 +@@ -532,7 +532,7 @@ + echo rs6000-ibm-aix3.2 + fi + exit ;; +- *:AIX:*:[45]) ++ *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 +@@ -544,6 +544,9 @@ + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi ++ if [ "$IBM_REV" == "V7BETA" ]; then ++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} ++ fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) diff --git a/libxslt/libxslt-configure.patch b/libxslt/libxslt-configure.patch new file mode 100644 index 000000000000..3ec9de54ab47 --- /dev/null +++ b/libxslt/libxslt-configure.patch @@ -0,0 +1,90 @@ +--- misc/libxslt-1.1.26/config.sub ++++ misc/build/libxslt-1.1.26/config.sub +@@ -1272,7 +1272,7 @@ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ +- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ ++ | -udi* | -androideabi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ +--- misc/libxslt-1.1.26/ltmain.sh Wed Aug 29 14:28:46 2007 ++++ misc/build/libxslt-1.1.26/ltmain.sh Wed Jun 25 13:06:05 2008 +@@ -6195,9 +6195,9 @@ + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) +- current="$number_major" +- revision="$number_minor" +- age="0" ++ current=`expr $number_major + $number_minor` ++ age="$number_minor" ++ revision="$number_revision" + ;; + irix|nonstopux) + func_arith $number_major + $number_minor +@@ -6271,8 +6271,8 @@ + ;; + + freebsd-elf) +- major=".$current" +- versuffix=".$current" ++ major=.`expr $current - $age` ++ versuffix="$major.$age.$revision" + ;; + + irix | nonstopux) +--- misc/libxslt-1.1.26/xslt-config.in Wed Jan 17 14:18:26 2007 ++++ misc/build/libxslt-1.1.26/xslt-config.in Wed Jun 25 13:06:05 2008 +@@ -1,10 +1,16 @@ + #! /bin/sh + +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ ++#prefix=@prefix@ ++#exec_prefix=@exec_prefix@ ++#exec_prefix_set=no ++#includedir=@includedir@ ++#libdir=@libdir@ ++ ++prefix=${SOLARVERSION}/${INPATH} ++exec_prefix=${SOLARVERSION}/${INPATH} + exec_prefix_set=no +-includedir=@includedir@ +-libdir=@libdir@ ++includedir=${SOLARVERSION}/${INPATH}/inc${UPDMINOREXT}/external ++libdir=${SOLARVERSION}/${INPATH}/lib${UPDMINOREXT} + + usage() + { +@@ -89,7 +95,8 @@ + shift + done + +-the_libs="@XSLT_LIBDIR@ @XSLT_LIBS@" ++#the_libs="@XSLT_LIBDIR@ @XSLT_LIBS@" ++the_libs="-L${libdir} ${XSLTLIB} -lm" + if test "$includedir" != "/usr/include"; then + the_flags="$the_flags -I$includedir `@XML_CONFIG@ --cflags`" + else +--- misc/libxslt-1.1.26/configure 2008-05-14 00:40:54.000000000 +0900 ++++ misc/build/libxslt-1.1.26/configure 2008-07-17 22:12:38.097000000 +0900 +@@ -7437,7 +7437,7 @@ + + cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_deplibs_check_method='file_magic ^x86 archive|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +@@ -7446,7 +7446,7 @@ + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' ++ lt_cv_deplibs_check_method='file_magic ^x86 archive|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' diff --git a/libxslt/libxslt-internal-symbols.patch b/libxslt/libxslt-internal-symbols.patch new file mode 100644 index 000000000000..813c34f0386a --- /dev/null +++ b/libxslt/libxslt-internal-symbols.patch @@ -0,0 +1,66 @@ +--- misc/libxslt-1.1.26/libxslt/libxslt.syms Thu Sep 24 16:28:46 2009 ++++ misc/build/libxslt-1.1.26/libxslt/libxslt.syms Thu Jul 8 12:22:14 2010 +@@ -107,7 +107,7 @@ + xsltFreeCompMatchList; + xsltFreeTemplateHashes; + xsltGetTemplate; +- xsltMatchPattern; ++#NOT_IMPLEMENTED xsltMatchPattern; + xsltTestCompMatchList; + + # preproc +@@ -406,7 +406,7 @@ + global: + + # xsltInternals +- xsltConstNamespaceNameXSLT; # variable ++#XSLT_REFACTORED_XSLT_NSCOMP xsltConstNamespaceNameXSLT; # variable + xsltExtensionInstructionResultFinalize; + xsltExtensionInstructionResultRegister; + xsltInitCtxtKey; +@@ -415,24 +415,24 @@ + xsltInit; + + # xsltInternals +- xsltParseAnyXSLTElem; +- xsltParseSequenceConstructor; +- xsltPointerListAddSize; +- xsltPointerListClear; +- xsltPointerListCreate; +- xsltPointerListFree; ++#XSLT_REFACTORED xsltParseAnyXSLTElem; ++#XSLT_REFACTORED xsltParseSequenceConstructor; ++#XSLT_REFACTORED xsltPointerListAddSize; ++#XSLT_REFACTORED xsltPointerListClear; ++#XSLT_REFACTORED xsltPointerListCreate; ++#XSLT_REFACTORED xsltPointerListFree; + xsltRegisterLocalRVT; + xsltReleaseRVT; +- xsltRestoreDocumentNamespaces; ++#XSLT_REFACTORED_XSLT_NSCOMP xsltRestoreDocumentNamespaces; + + # extensions +- xsltStyleStylesheetLevelGetExtData; ++#XSLT_REFACTORED xsltStyleStylesheetLevelGetExtData; + + # xsltInternals +- xsltTransStorageAdd; +- xsltTransStorageRemove; ++#NOT_IMPLEMENTED xsltTransStorageAdd; ++#NOT_IMPLEMENTED xsltTransStorageRemove; + xsltUninit; +- xsltXSLTAttrMarker; # variable ++#XSLT_REFACTORED xsltXSLTAttrMarker; # variable + } LIBXML2_1.1.9; + + LIBXML2_1.1.20 { +@@ -475,5 +475,9 @@ + + # transform + xsltProcessOneNode; ++ ++# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local") ++ local: ++ *; + } LIBXML2_1.1.25; + diff --git a/libxslt/libxslt-mingw.patch b/libxslt/libxslt-mingw.patch new file mode 100644 index 000000000000..da8eee3b1098 --- /dev/null +++ b/libxslt/libxslt-mingw.patch @@ -0,0 +1,36 @@ +--- misc/libxslt-1.1.26/ltmain.sh 2010-06-06 14:43:28.785750000 +0900 ++++ misc/build/libxslt-1.1.26/ltmain.sh 2010-06-06 15:14:26.176375000 +0900 +@@ -2983,15 +2983,7 @@ + *mingw* ) + lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + case $build in +- *mingw* ) # actually, msys +- # awkward: cmd appends spaces to result +- lt_sed_strip_trailing_spaces="s/[ ]*\$//" +- func_to_host_path_tmp1=`( cmd //c echo "$1" |\ +- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` +- func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ +- $SED -e "$lt_sed_naive_backslashify"` +- ;; +- *cygwin* ) ++ *cygwin* | *mingw* ) + func_to_host_path_tmp1=`cygpath -w "$1"` + func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ + $SED -e "$lt_sed_naive_backslashify"` +@@ -3062,15 +3054,7 @@ + func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e 's|^:*||' -e 's|:*$||'` + case $build in +- *mingw* ) # Actually, msys. +- # Awkward: cmd appends spaces to result. +- lt_sed_strip_trailing_spaces="s/[ ]*\$//" +- func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ +- $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` +- func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ +- $SED -e "$lt_sed_naive_backslashify"` +- ;; +- *cygwin* ) ++ *cygwin* | *mingw* ) + func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` + func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ + $SED -e "$lt_sed_naive_backslashify"` diff --git a/libxslt/libxslt-vc10.patch b/libxslt/libxslt-vc10.patch new file mode 100644 index 000000000000..3d8b3302c643 --- /dev/null +++ b/libxslt/libxslt-vc10.patch @@ -0,0 +1,15 @@ +--- misc/build/libxslt-1.1.26/win32/Makefile.msvc.old 2010-10-20 01:02:55.359375000 +0200 ++++ misc/build/libxslt-1.1.26/win32/Makefile.msvc 2010-10-20 01:03:05.187500000 +0200 +@@ -71,8 +71,12 @@ + LDFLAGS = $(LDFLAGS) /DEBUG + !else + CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 ++!if "$(_NMAKE_VER)" >= "10.00.30319.01" ++LDFLAGS = $(LDFLAGS) ++!else + LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 + !endif ++!endif + + # Libxslt object files. + XSLT_OBJS = $(XSLT_INTDIR)\attributes.obj\ diff --git a/libxslt/libxslt-win_manifest.patch b/libxslt/libxslt-win_manifest.patch new file mode 100644 index 000000000000..43c14eb70b8b --- /dev/null +++ b/libxslt/libxslt-win_manifest.patch @@ -0,0 +1,11 @@ +--- misc/libxslt-1.1.26/win32/configure.js 2007-08-03 15:41:02.000000000 +0200 ++++ misc/build/libxslt-1.1.26/win32/configure.js 2009-05-07 13:09:42.294993200 +0200 +@@ -52,7 +52,7 @@ + var dirSep = "\\"; + var compiler = "msvc"; + var cruntime = "/MD"; +-var vcmanifest = false; ++var vcmanifest = true; + var buildDebug = 0; + var buildStatic = 0; + var buildPrefix = "."; diff --git a/libxslt/libxsltversion.mk b/libxslt/libxsltversion.mk new file mode 100644 index 000000000000..c80c0e9535b0 --- /dev/null +++ b/libxslt/libxsltversion.mk @@ -0,0 +1,33 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +# major +LIBXSLT_MAJOR=1 +# minor +LIBXSLT_MINOR=1 +# micro +LIBXSLT_MICRO=26 + diff --git a/libxslt/makefile.mk b/libxslt/makefile.mk new file mode 100644 index 000000000000..576dedefa2b3 --- /dev/null +++ b/libxslt/makefile.mk @@ -0,0 +1,178 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=libxslt +TARGET=so_libxslt + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_LIBXSLT)" == "YES" +all: + @echo "An already available installation of libxslt should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +.IF "$(L10N_framework)"=="" + +.INCLUDE : libxsltversion.mk + +LIBXSLTVERSION=$(LIBXSLT_MAJOR).$(LIBXSLT_MINOR).$(LIBXSLT_MICRO) + +TARFILE_NAME=$(PRJNAME)-$(LIBXSLTVERSION) +TARFILE_MD5=e61d0364a30146aaa3001296f853b2b9 + +# libxslt-internal-symbols: #i112480#: Solaris ld requires symbols to be defined +PATCH_FILES=libxslt-configure.patch \ + libxslt-win_manifest.patch \ + libxslt-mingw.patch \ + libxslt-internal-symbols.patch \ + libxslt-aix.patch \ + libxslt-vc10.patch + +# This is only for UNX environment now +.IF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +xslt_CC=$(CC) -mthreads +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +xslt_CC+=-shared-libgcc +.ENDIF +xslt_LIBS= +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +xslt_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure +CONFIGURE_FLAGS=--without-crypto --without-python --enable-static=no --build=i586-pc-mingw32 --host=i586-pc-mingw32 CC="$(xslt_CC)" CFLAGS="$(xslt_CFLAGS)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xslt_LIBS)" LIBXML2LIB=$(LIBXML2LIB) OBJDUMP=objdump +BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.IF "$(GUI)$(COM)"=="WNTGCC" +.EXPORT : PWD +.ENDIF +.ELSE +CONFIGURE_DIR=win32 +CONFIGURE_ACTION=cscript configure.js +#CONFIGURE_FLAGS=iconv=no sax1=yes +.IF "$(debug)"!="" +CONFIGURE_FLAGS+=debug=yes +.ENDIF +BUILD_ACTION=nmake +BUILD_DIR=$(CONFIGURE_DIR) +.ENDIF +.ELSE + +.IF "$(OS)$(COM)"=="LINUXGCC" || "$(OS)$(COM)"=="FREEBSDGCC" +LDFLAGS:=-Wl,-rpath,'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' -Wl,-noinhibit-exec +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" +.IF "$(OS)$(COM)"=="SOLARISC52" +LDFLAGS:=-Wl,-R'$$$$ORIGIN:$$$$ORIGIN/../ure-link/lib' +.ENDIF # "$(OS)$(COM)"=="SOLARISC52" +.IF "$(OS)"=="AIX" +LDFLAGS+:=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) +.ENDIF + +.IF "$(SYSBASE)"!="" +CPPFLAGS+:=-I$(SOLARINCDIR)$/external -I$(SYSBASE)$/usr$/include $(EXTRA_CFLAGS) +.IF "$(OS)"=="SOLARIS" || "$(OS)"=="LINUX" +LDFLAGS+:=-L$(SOLARLIBDIR) -L$(SYSBASE)$/lib -L$(SYSBASE)$/usr$/lib -lpthread -ldl +.ENDIF +.ENDIF # "$(SYSBASE)"!="" + +.EXPORT: CPPFLAGS +.EXPORT: LDFLAGS +.EXPORT: LIBXML2LIB + +.IF "$(COMNAME)"=="sunpro5" +CPPFLAGS+:=$(ARCH_FLAGS) -xc99=none +.ENDIF # "$(COMNAME)"=="sunpro5" + +CONFIGURE_DIR= +CONFIGURE_ACTION=.$/configure + +.IF "$(OS)"=="IOS" +# --with-libxml-prefix actually gives the prefix where bin/xml2-config is looked for, +# and we want it to find our dummy one that prints the LIBXML_CFLAGS and LIBXML_LIBS that +# the configure script found out. +CONFIGURE_FLAGS=--disable-shared --with-libxml-prefix=$(SRC_ROOT)/$(PRJNAME)/dummy +.ELSE +CONFIGURE_FLAGS=--disable-static +.ENDIF + +CONFIGURE_FLAGS+=--enable-ipv6=no --without-crypto --without-python --with-sax1=yes + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +BUILD_ACTION=chmod 777 xslt-config && $(GNUMAKE) +BUILD_FLAGS+= -j$(EXTMAXPROCESS) +BUILD_DIR=$(CONFIGURE_DIR) +.ENDIF + +OUT2INC=libxslt$/*.h + +.IF "$(OS)"=="MACOSX" +OUT2LIB+=libxslt$/.libs$/libxslt.*.dylib +OUT2LIB+=libexslt$/.libs$/libexslt.*.dylib +OUT2BIN+=xsltproc$/.libs$/xsltproc +OUT2BIN+=xslt-config +.ELIF "$(OS)"=="IOS" || "$(OS)"=="ANDROID" +OUT2LIB+=libxslt$/.libs$/libxslt.a +OUT2LIB+=libexslt$/.libs$/libexslt.a +OUT2BIN+=xslt-config +.ELIF "$(OS)"=="WNT" +.IF "$(COM)"=="GCC" +OUT2LIB+=libxslt$/.libs$/*.a +OUT2LIB+=libexslt$/.libs$/*.a +OUT2BIN+=libxslt$/.libs$/*.dll +OUT2BIN+=libexslt$/.libs$/*.dll +OUT2BIN+=xsltproc$/.libs$/*.exe* +OUT2BIN+=xslt-config +.ELSE +OUT2LIB+=win32$/bin.msvc$/*.lib +OUT2BIN+=win32$/bin.msvc$/*.dll +OUT2BIN+=win32$/bin.msvc$/*.exe +.ENDIF +.ELSE +OUT2LIB+=libxslt$/.libs$/libxslt.so* +OUT2LIB+=libexslt$/.libs$/libexslt.so* +OUT2BIN+=xsltproc$/.libs$/xsltproc +OUT2BIN+=xslt-config +.ENDIF + +# --- Targets ------------------------------------------------------ +.ENDIF # L10N_framework +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/libxslt/prj/build.lst b/libxslt/prj/build.lst new file mode 100644 index 000000000000..f6e9eb049704 --- /dev/null +++ b/libxslt/prj/build.lst @@ -0,0 +1,3 @@ +lxslt libxslt : soltools LIBXML2:libxml2 NULL +lxslt libxslt usr1 - all lxslt_mkout NULL +lxslt libxslt nmake - all lxslt_libxslt NULL diff --git a/libxslt/prj/d.lst b/libxslt/prj/d.lst new file mode 100644 index 000000000000..74f759ebe85a --- /dev/null +++ b/libxslt/prj/d.lst @@ -0,0 +1,12 @@ +mkdir: %_DEST%\inc\external\libxslt +..\%__SRC%\inc\*.h %_DEST%\inc\external\libxslt\*.h +..\%__SRC%\lib\libxslt.so.1 %_DEST%\lib\libxslt.so.1 +symlink: %_DEST%\lib\libxslt.so.1 %_DEST%\lib\libxslt.so +..\%__SRC%\lib\libexslt.so.0 %_DEST%\lib\libexslt.so.0 +symlink: %_DEST%\lib\libexslt.so.0 %_DEST%\lib\libexslt.so +..\%__SRC%\lib\libxslt*.* %_DEST%\lib\libxslt*.* +..\%__SRC%\lib\lib*.dll.a %_DEST%\lib\*.a +..\%__SRC%\bin\lib*.dll %_DEST%\bin +..\%__SRC%\bin\xsltproc* %_DEST%\bin +..\%__SRC%\bin\xslt-config* %_DEST%\bin +..\libxsltversion.mk %_DEST%\inc\libxsltversion.mk diff --git a/more_fonts/fonts/fc_local.conf b/more_fonts/fonts/fc_local.conf new file mode 100644 index 000000000000..973c7b57f2b9 --- /dev/null +++ b/more_fonts/fonts/fc_local.conf @@ -0,0 +1,24 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "/etc/fonts/conf.d/fonts.dtd"> +<fontconfig> + + <!-- Alias similar/metric-compatible families from various sources: --> + + <alias binding="same"> + <family>Liberation Sans Narrow</family> + <family>Arial Narrow</family> + <default> + <family>Arial Narrow</family> + </default> + </alias> + +<!-- --> + <alias binding="same"> + <family>Arial Narrow</family> + <accept> + <family>Liberation Sans Narrow</family> + </accept> + </alias> +<!-- --> + +</fontconfig> diff --git a/more_fonts/fonts/ttf_amt/makefile.mk b/more_fonts/fonts/ttf_amt/makefile.mk new file mode 100644 index 000000000000..6e54dc70bd90 --- /dev/null +++ b/more_fonts/fonts/ttf_amt/makefile.mk @@ -0,0 +1,59 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=more_fonts +TARGET=ttf_amt + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=agfa-monotype-fonts +TARFILE_MD5=9bad41ce5c3fd069b87f28aeac70314d +TARFILE_ROOTDIR=agfa-monotype-fonts + +PATCH_FILES= + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(WITH_AGFA_MONOTYPE_FONTS)" == "YES" +.INCLUDE : tg_ext.mk +.ENDIF diff --git a/more_fonts/fonts/ttf_dejavu/makefile.mk b/more_fonts/fonts/ttf_dejavu/makefile.mk new file mode 100644 index 000000000000..090661bbde02 --- /dev/null +++ b/more_fonts/fonts/ttf_dejavu/makefile.mk @@ -0,0 +1,61 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=more_fonts +TARGET=ttf_dejavu + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=dejavu-fonts-ttf-2.32 +TARFILE_MD5=37282537d0ed1a087b1c8f050dc812d9 +TARFILE_ROOTDIR=dejavu-fonts-ttf-2.32 + +PATCH_FILES= + + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(WITH_FONTS)"!="NO" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/more_fonts/fonts/ttf_gentium/makefile.mk b/more_fonts/fonts/ttf_gentium/makefile.mk new file mode 100644 index 000000000000..53177e8c9f59 --- /dev/null +++ b/more_fonts/fonts/ttf_gentium/makefile.mk @@ -0,0 +1,61 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=more_fonts +TARGET=ttf_gentium + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=gentiumbasic-fonts-1.10 +TARFILE_MD5=35efabc239af896dfb79be7ebdd6e6b9 +TARFILE_ROOTDIR=gentiumbasic-fonts-1.10 + +PATCH_FILES= + + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(WITH_FONTS)"!="NO" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/more_fonts/fonts/ttf_liberation/makefile.mk b/more_fonts/fonts/ttf_liberation/makefile.mk new file mode 100644 index 000000000000..a49c568e2770 --- /dev/null +++ b/more_fonts/fonts/ttf_liberation/makefile.mk @@ -0,0 +1,60 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=more_fonts +TARGET=ttf_liberation + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=liberation-fonts-ttf-1.06.0.20100721 +TARFILE_MD5=ca4870d899fd7e943ffc310a5421ad4d +TARFILE_ROOTDIR=. + +PATCH_FILES= + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(WITH_FONTS)"!="NO" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/more_fonts/fonts/ttf_linlibertineg/makefile.mk b/more_fonts/fonts/ttf_linlibertineg/makefile.mk new file mode 100644 index 000000000000..2849af332adf --- /dev/null +++ b/more_fonts/fonts/ttf_linlibertineg/makefile.mk @@ -0,0 +1,60 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/.. + +PRJNAME=more_fonts +TARGET=ttf_linlibertineg + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=LinLibertineG-20110101 +TARFILE_MD5=881af2b7dca9b8259abbca00bbbc004d +TARFILE_ROOTDIR=LinLibertineG + +PATCH_FILES= + + +CONFIGURE_DIR= +CONFIGURE_ACTION= + +BUILD_DIR= +BUILD_ACTION= +BUILD_FLAGS= + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk + +.IF "$(WITH_FONTS)"!="NO" +.INCLUDE : tg_ext.mk +.ENDIF diff --git a/more_fonts/prj/build.lst b/more_fonts/prj/build.lst new file mode 100644 index 000000000000..94f4ec8b6a1e --- /dev/null +++ b/more_fonts/prj/build.lst @@ -0,0 +1,6 @@ +bs more_fonts : solenv NULL +bs more_fonts\fonts\ttf_dejavu nmake - all deja_fonts NULL +bs more_fonts\fonts\ttf_liberation nmake - all libe_fonts NULL +bs more_fonts\fonts\ttf_gentium nmake - all gent_fonts NULL +bs more_fonts\fonts\ttf_linlibertineg nmake - all linl_fonts NULL +bs more_fonts\fonts\ttf_amt nmake - all amt_fonts NULL diff --git a/more_fonts/prj/d.lst b/more_fonts/prj/d.lst new file mode 100644 index 000000000000..14942645ff30 --- /dev/null +++ b/more_fonts/prj/d.lst @@ -0,0 +1,12 @@ +mkdir: %COMMON_DEST%\pck +..\fonts\fc_local.conf %COMMON_DEST%\pck\fc_local.conf +# TODO: replace explicit versions by wildcard when the build system learns to handle them +..\%__SRC%\misc\build\dejavu-fonts-ttf-2.32\ttf\*.ttf %COMMON_DEST%\pck\*.ttf +..\%__SRC%\misc\build\dejavu-fonts-ttf-2.32\LICENSE %COMMON_DEST%\pck\LICENSE_dejavu +..\%__SRC%\misc\build\liberation-fonts-ttf-1.06.0.20100721/Liberation*.ttf %COMMON_DEST%\pck\*.ttf +..\%__SRC%\misc\build\liberation-fonts-ttf-1.06.0.20100721/License.txt %COMMON_DEST%\pck\LICENSE_liberation +..\%__SRC%\misc\build\gentiumbasic-fonts-1.10\*.ttf %COMMON_DEST%\pck\*.ttf +..\%__SRC%\misc\build\gentiumbasic-fonts-1.10\OFL.txt %COMMON_DEST%\pck\LICENSE_gentium +..\%__SRC%\misc\build\LinLibertineG\*.ttf %COMMON_DEST%\pck\*.ttf +..\%__SRC%\misc\build\LinLibertineG\OFL.txt %COMMON_DEST%\pck\LICENSE_LinLibertineG +..\%__SRC%\misc\build\agfa-monotype-fonts\*.ttf %COMMON_DEST%\pck\*.ttf diff --git a/moz/README b/moz/README new file mode 100755 index 000000000000..6b1d0a2e169e --- /dev/null +++ b/moz/README @@ -0,0 +1,4 @@ +Rebuild moz whenever changes have been made in the nss module. Those libs are
+merged into mozruntime.zip which is build in this project.
+
+Please read nss/readme.txt !!!
\ No newline at end of file diff --git a/moz/extractfiles.mk b/moz/extractfiles.mk new file mode 100644 index 000000000000..faba88b7822f --- /dev/null +++ b/moz/extractfiles.mk @@ -0,0 +1,459 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +MOZTARGET=$(OS)$(COM)$(CPU) +MOZ_DIST_DIR=$(MISC)$/build$/mozilla$/$(BUILD_DIR)$/dist +MOZ_BIN_DIR=$(MOZ_DIST_DIR)$/bin +RUNTIME_DIR=$(MISC)$/$(MOZTARGET)runtime +LIB_DIR=$(LB) +INCLUDE_DIR=$(INCCOM) + + + +#If we build the NSS module then we do not need the old nss libs from here +.IF "$(ENABLE_NSS_MODULE)"=="YES" + + +.IF "$(OS)" == "SOLARIS" +.IF "$(CPU)" == "S" #32bit +FREEBL_LIB=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3 +.ELIF "$(CPU)" == "U" #64bit unxsolu4 +FREEBL_LIB=freebl_64int_3 freebl_64fpu_3 +.ELSE +FREEBL_LIB=freebl3 +.ENDIF #"$(CPU)" == "S" + +.ELSE # "$(OS)" == "SOLARIS" +FREEBL_LIB=freebl3 +.ENDIF # "$(OS)" == "SOLARIS" + + +NSS_MODULE_RUNTIME_LIST:= \ + $(FREEBL_LIB) \ + nspr4 \ + nss3 \ + nssckbi \ + nssdbm3 \ + nssutil3 \ + plc4 \ + plds4 \ + smime3 \ + softokn3 \ + sqlite/sqlite3 \ + ssl3 + +BIN_RUNTIMELIST= \ + xpcom \ + xpcom_core \ + xpcom_compat +.ELSE + +.IF "$(GUI)" == "WNT" + FREEBL_LIB=freebl3 +.ELSE # "$(GUI)" == "WNT" + .IF "$(OS)$(CPUNAME)" == "SOLARISSPARC" + FREEBL_LIB=freebl_32fpu_3 + .ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC" + FREEBL_LIB=freebl3 + .ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC" +.ENDIF # "$(GUI)" == "WNT" + + +BIN_RUNTIMELIST= \ + nspr4 \ + plc4 \ + plds4 \ + xpcom \ + xpcom_core \ + xpcom_compat \ + nss3 \ + ssl3 \ + softokn3 \ + smime3 \ + $(FREEBL_LIB) +.ENDIF # "$(ENABLE_NSS_MODULE)"=="YES" + +.IF "$(GUI)"=="WNT" +BIN_RUNTIMELIST+= \ + js3250 \ + mozz \ + msgbsutl \ + nsldap32v50 \ + nsldappr32v50 +.ELSE #"$(GUI)"=="WNT" +BIN_RUNTIMELIST+= \ + mozjs \ + mozz \ + msgbaseutil \ + ldap50 \ + prldap50 +.ENDIF + +COMPONENT_RUNTIMELIST= \ + addrbook \ + mork \ + mozldap \ + necko \ + profile \ + xpcom_compat_c \ + rdf \ + uconv \ + vcard \ + i18n \ + pipnss + +.IF "$(GUI)"=="WNT" +COMPONENT_RUNTIMELIST+= \ + xppref32 \ + xpc3250 +.ELSE #"$(GUI)"=="WNT" +COMPONENT_RUNTIMELIST+= \ + pref \ + xpconnect +.ENDIF + +COMREGISTRY_FILELIST= \ + necko_dns.xpt \ + xpcom_base.xpt \ + xpcom_obsolete.xpt \ + xpcom_components.xpt \ + xpcom_ds.xpt \ + xpcom_io.xpt \ + xpcom_xpti.xpt \ + addrbook.xpt \ + mozldap.xpt \ + pref.xpt + +.IF "$(GUI)"=="WNT" +COMREGISTRY_FILELIST+= xpcom_thread.xpt +.ELSE #"$(GUI)"=="WNT" +COMREGISTRY_FILELIST+= xpcom_threads.xpt +.ENDIF + +DEFAULTS_RUNTIMELIST= \ + defaults$/pref$/browser-prefs.js \ + defaults$/pref$/mailnews.js \ + defaults$/pref$/mdn.js \ + defaults$/pref$/smime.js \ + defaults$/autoconfig$/platform.js \ + defaults$/autoconfig$/prefcalls.js \ + greprefs$/all.js \ + greprefs$/security-prefs.js + +.IF "$(ENABLE_NSS_MODULE)"=="YES" +#These headers come from the separate NSS module if enabled +NSS_INCLUDE_LIST= nspr nss + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" + + +LIBLIST= \ + libembed_base_s.a \ + libmozreg_s.a \ + libnslber32v50.a \ + libnsldap32v50.a \ + libxpcom_core.dll.a \ + libxpcom.dll.a + +.ELSE #"$(COM)"=="GCC" + +LIBLIST= \ + embed_base_s.lib \ + mozreg_s.lib \ + nslber32v50.lib \ + nsldap32v50.lib \ + xpcom_core.lib \ + xpcom.lib + +.ENDIF #"$(COM)"=="GCC" + +.ELSE #"$(GUI)"=="WNT" + +LIBLIST= \ + libembed_base_s.a \ + libmozreg_s.a \ + liblber50.a \ + libxpcom_core$(DLLPOST) \ + libxpcom$(DLLPOST) \ + libmsgbaseutil$(DLLPOST) \ + libldap50$(DLLPOST) \ + +.ENDIF + +.ELSE # .IF"$(ENABLE_NSS_MODULE)"=="YES" + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" + +LIBLIST= \ + libembed_base_s.a \ + libmozreg_s.a \ + libnslber32v50.a \ + libnsldap32v50.a \ + libnspr4.a \ + libxpcom_core.dll.a \ + libxpcom.dll.a \ + libnss3.a \ + libsmime3.a + +.ELSE + +LIBLIST= \ + embed_base_s.lib \ + mozreg_s.lib \ + nslber32v50.lib \ + nsldap32v50.lib \ + nspr4.lib \ + xpcom_core.lib \ + xpcom.lib \ + plc4.lib \ + plds4.lib \ + nss3.lib \ + ssl3.lib \ + smime3.lib + +.ENDIF + +.ELSE #"$(GUI)"=="WNT" + +LIBLIST= \ + libembed_base_s.a \ + libmozreg_s.a \ + liblber50.a \ + libnspr4$(DLLPOST) \ + libxpcom_core$(DLLPOST) \ + libxpcom$(DLLPOST) \ + libmsgbaseutil$(DLLPOST) \ + libldap50$(DLLPOST) \ + libsoftokn3$(DLLPOST) \ + libplc4$(DLLPOST) \ + libplds4$(DLLPOST) \ + libnss3$(DLLPOST) \ + libssl3$(DLLPOST) \ + libsmime3$(DLLPOST) + +.ENDIF +.ENDIF # .IF "$(ENABLE_NSS_MODULE)"=="YES" + +INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/ +PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/ + + +.IF "$(GUI)"=="WNT" +REG_SUBFIX= .exe +.ELSE #"$(GUI)"=="WNT" +REG_SUBFIX= +.ENDIF + +# --- Targets ------------------------------------------------------ + +extract_mozab_files: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) \ + make_temp_dir \ + $(MISC)$/build$/so_moz_runtime_files \ + $(MISC)$/build$/so_moz_include_files \ + $(MISC)$/build$/so_moz_lib_files + +make_temp_dir: + @@-$(MKDIR) $(RUNTIME_DIR) + @@-$(MKDIR) $(RUNTIME_DIR)$/components + @@-$(MKDIR) $(RUNTIME_DIR)$/defaults + @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/pref + @@-$(MKDIR) $(LIB_DIR) + @@-$(MKDIR) $(INCLUDE_DIR) +.IF "$(OS)"=="SOLARIS" + @@-$(MKDIR) $(RUNTIME_DIR)$/res +.ENDIF + +$(OUT)$/bin$/mozruntime.zip: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + noop + +$(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip +# copy files in BIN_RUNTIMELIST + $(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \ + $(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.IF "$(GUI)" == "UNX" + $(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \ + $(LIB_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.IF "$(ENABLE_NSS_MODULE)" == "YES" +# We add the libraries from the separate nss module + $(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARLIBDIR)$/$(file:d:d)/$(DLLPRE)$(file:f)$(DLLPOST) \ + $(RUNTIME_DIR)$/$(DLLPRE)$(file:f)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.ENDIF +.ELSE # .IF "$(GUI)" == "UNX" +.IF "$(ENABLE_NSS_MODULE)" == "YES" +# We add the libraries from the separate nss module + $(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARBINDIR)$/$(DLLPRE)$(file)$(DLLPOST) \ + $(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.ENDIF +.ENDIF # .IF "$(GUI)" == "UNX" + + +# copy files in RES_FILELIST +.IF "$(OS)"=="SOLARIS" + @$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties +.ELSE + @echo No Res Files to copy. +.ENDIF + +# copy files in COMPONENT_RUNTIMELIST + $(foreach,file,$(COMPONENT_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/components$/$(DLLPRE)$(file)$(DLLPOST) \ + $(RUNTIME_DIR)$/components$/$(DLLPRE)$(file)$(DLLPOST) &&) \ + echo >& $(NULLDEV) + +# copy files in COMREGISTRY_FILELIST + $(foreach,file,$(COMREGISTRY_FILELIST) $(COPY) $(MOZ_BIN_DIR)$/components$/$(file) \ + $(RUNTIME_DIR)$/components$/$(file) &&) \ + echo >& $(NULLDEV) + +# copy files in DEFAULTS_RUNTIMELIST + @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/pref + @@-$(MKDIR) $(RUNTIME_DIR)$/defaults$/autoconfig + @@-$(MKDIR) $(RUNTIME_DIR)$/greprefs + $(foreach,file,$(DEFAULTS_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(file) $(RUNTIME_DIR)$/$(file) &&) \ + echo >& $(NULLDEV) + +.IF "$(GUI)"=="UNX" +.IF "$(OS)"!="MACOSX" && "$(OS)"!="AIX" + cd $(RUNTIME_DIR) && strip *$(DLLPOST) + cd $(RUNTIME_DIR)$/components && strip *$(DLLPOST) +.ENDIF +.ENDIF +.IF "$(OS)"=="MACOSX" + $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \ + $(RUNTIME_DIR)$/*$(DLLPOST) +# A crude hack to adapt all the install names in the components subdir: + $(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \ + install_name_tool \ + -change @executable_path/libldap50.dylib \ + @loader_path/../libldap50.dylib \ + -change @executable_path/libmozjs.dylib @loader_path/../libmozjs.dylib \ + -change @executable_path/libmozz.dylib @loader_path/../libmozz.dylib \ + -change @executable_path/libmsgbaseutil.dylib \ + @loader_path/../libmsgbaseutil.dylib \ + -change @executable_path/libnspr4.dylib @loader_path/../libnspr4.dylib \ + -change @executable_path/libnss3.dylib @loader_path/../libnss3.dylib \ + -change @executable_path/libplc4.dylib @loader_path/../libplc4.dylib \ + -change @executable_path/libplds4.dylib @loader_path/../libplds4.dylib \ + -change @executable_path/libprldap50.dylib \ + @loader_path/../libprldap50.dylib \ + -change @executable_path/libsmime3.dylib \ + @loader_path/../libsmime3.dylib \ + -change @executable_path/libsoftokn3.dylib \ + @loader_path/../libsoftokn3.dylib \ + -change @executable_path/libssl3.dylib @loader_path/../libssl3.dylib \ + -change @executable_path/libxpcom.dylib @loader_path/../libxpcom.dylib \ + -change @executable_path/libxpcom_compat.dylib \ + @loader_path/../libxpcom_compat.dylib \ + $(file) &&) true +.ENDIF + +# zip runtime files to mozruntime.zip + cd $(RUNTIME_DIR) && zip -r ..$/..$/bin$/mozruntime.zip * + + $(TOUCH) $@ + +$(INCCOM)$/nsBuildID.h: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @-echo "You can delete $(INCCOM) to force it copy all include files again." + + +$(MISC)$/build$/so_moz_include_files: $(INCCOM)$/nsBuildID.h +.IF "$(OS)"!="SOLARIS" + $(GNUCOPY) -pRL $(INCLUDE_PATH)* $(INCLUDE_DIR) + $(GNUCOPY) -pRL $(PUBLIC_PATH)* $(INCLUDE_DIR) +.ELSE # "$(OS)"!="SOLARIS" + $(COPY) -pr $(INCLUDE_PATH)* $(INCLUDE_DIR) + $(COPY) -pr $(PUBLIC_PATH)* $(INCLUDE_DIR) +.ENDIF # "$(OS)"!="SOLARIS" + +.IF "$(GUI)"=="UNX" + chmod -R 775 $(INCCOM) +.ENDIF + $(TOUCH) $@ +.IF "$(ENABLE_NSS_MODULE)"=="YES" + +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCLUDE_DIR)$/$(dir) $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV) + $(foreach,dir,$(NSS_INCLUDE_LIST) rm -rf $(INCLUDE_DIR)$/$(dir)_remove_me &&) echo >& $(NULLDEV) + -$(MKDIR) $(OUT)$/inc.nss + cd $(OUT)$/inc.nss && $(foreach,dir,$(NSS_INCLUDE_LIST) $(GNUCOPY) -pRL $(SOLARINCDIR)$/mozilla/$(dir) . &&) echo >& $(NULLDEV) +.ENDIF + +# On UNX the rules for so_moz_runtime_files copy files into the same directory +# used here (LIB_DIR), and on MACOSX all those files together need to be +# processed here, hence the dependency on so_moz_runtime_files: +$(MISC)$/build$/so_moz_lib_files: $(foreach,file,$(LIBLIST) $(LIB_DIR)$/$(file)) $(MISC)$/build$/so_moz_runtime_files + echo $(foreach,file,$(LIBLIST) $(MOZ_DIST_DIR)$/lib$/$(file)) + $(foreach,file,$(LIBLIST) $(COPY) $(MOZ_DIST_DIR)$/lib$/$(file) \ + $(LIB_DIR)$/$(file) &&) \ + echo >& $(NULLDEV) +.IF "$(OS)"=="MACOSX" + $(PERL) $(SOLARENV)$/bin$/macosx-change-install-names.pl extshl OOO \ + $(LIB_DIR)$/*$(DLLPOST) +.ENDIF +.IF "$(GUI)"=="UNX" + chmod -R 775 $(LB) +.ENDIF + $(TOUCH) $@ + +$(BIN_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @$(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$@$(DLLPOST) $(RUNTIME_DIR)$/$(DLLPRE)$@$(DLLPOST) + +$(COMPONENT_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @$(COPY) $(MOZ_BIN_DIR)$/components$/$(DLLPRE)$@$(DLLPOST) $(RUNTIME_DIR)$/components$/$(DLLPRE)$@$(DLLPOST) + +$(COMREGISTRY_FILELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @$(COPY) $(MOZ_BIN_DIR)$/components$/$@ $(RUNTIME_DIR)$/components$/$@ + +$(DEFAULTS_RUNTIMELIST): $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @$(COPY) $(MOZ_BIN_DIR)$/$@ $(RUNTIME_DIR)$/$@ + +RES_FILELIST: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) +.IF "$(OS)"=="SOLARIS" + @$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties +.ELSE + @echo No Res Files to copy. +.ENDIF + +$(LIB_DIR)$/%: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + noop + +$(MISC)$/CREATETARBALL: extract_mozab_files + @@-$(MKDIR) $(OUT)$/zipped + $(COPY) $(BIN)$/mozruntime.zip $(OUT)$/zipped$/$(MOZTARGET)runtime.zip +.IF "$(GUI)"=="UNX" +.IF "$(OS)"!="MACOSX" + cd $(LB) && strip *$(DLLPOST) +.ENDIF +.ENDIF + cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip * + cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip * +.IF "$(ENABLE_NSS_MODULE)"=="YES" + cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip * +.ENDIF diff --git a/moz/makefile.mk b/moz/makefile.mk new file mode 100644 index 000000000000..0ee92d305044 --- /dev/null +++ b/moz/makefile.mk @@ -0,0 +1,432 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=ooo_mozab +TARGET=ooo_mozab + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +# ----- pkg-config start ------- +.INCLUDE .IGNORE : pkgroot.mk +.IF "$(PKGCONFIG_ROOT)"!="" +PKG_CONFIG:=$(PKGCONFIG_ROOT)$/bin$/pkg-config +PKG_CONFIG_PATH:=$(PKGCONFIG_ROOT)$/lib$/pkgconfig +.IF "$(LD_LIBRARY_PATH)"=="" # assume empty implies unset +LD_LIBRARY_PATH!:=$(PKGCONFIG_ROOT)$/lib +.ELSE +LD_LIBRARY_PATH!:=$(LD_LIBRARY_PATH)$(PATH_SEPERATOR)$(PKGCONFIG_ROOT)$/lib +.ENDIF +.EXPORT : PKG_CONFIG_PATH PKG_CONFIG LD_LIBRARY_PATH +.ENDIF # "$(PKGCONFIG_ROOT)"!="" + +# reduce prerequisites by disabling mozilla binary +DISABLE_MOZ_EXECUTABLE=TRUE +.EXPORT : DISABLE_MOZ_EXECUTABLE + +.IF "$(OS)"=="AIX" +LDFLAGS+:=$(LINKFLAGS) $(LINKFLAGSRUNPATH_OOO) +.EXPORT : LDFLAGS +.ENDIF + +.IF "$(SYSBASE)"!="" && "$(OS)" == "LINUX" +## hmm... rather gcc specific switches... +CFLAGS:=-isystem $(SYSBASE)/usr/include -B$(SYSBASE)/usr/lib +LDFLAGS:= -Wl,--unresolved-symbols=ignore-in-shared-libs -L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -L$(SYSBASE)/usr/X11R6/lib +SYSBASE_X11:=--x-includes=$(SYSBASE)/usr/include/X11 --x-libraries=$(SYSBASE)/usr/X11R6/lib +MOZ_ENABLE_COREXFONTS=1 +MOZILLA_CONFIGURE_FLAGS +=--disable-xft +.EXPORT : CFLAGS LDFLAGS MOZ_ENABLE_COREXFONTS +.ENDIF # "$(SYSBASE)"!="" && "$(OS)" == "LINUX" + +.IF "$(SYSBASE)"!="" && "$(OS)" == "MACOSX" +PKGCONFIG_ROOT!:=$(ENV_ROOT)$/macports-1.7.0 +PKG_CONFIG:=$(PKGCONFIG_ROOT)$/bin$/pkg-config +PKG_CONFIG_PATH:=$(PKGCONFIG_ROOT)$/lib$/pkgconfig +.EXPORT : PKG_CONFIG_PATH PKG_CONFIG +# hmm... rather gcc specific switches... +CFLAGS:=-isystem $(SYSBASE)/usr/include -B$(SYSBASE)/usr/lib -B$(SYSBASE)/usr/lib/system -L$(ENV_ROOT)/macports-1.7.0/lib -lmathCommon +LDFLAGS:=-L$(SYSBASE)/lib -L$(SYSBASE)/usr/lib -L$(SYSBASE)/usr/lib/system +XLDOPTS:= -B$(SYSBASE)/usr/lib -B$(SYSBASE)/usr/lib/system -lmathCommon +.EXPORT : CFLAGS LDFLAGS XLDOPTS +.ENDIF # "$(SYSBASE)"!="" && "$(OS)" == "MACOSX" + +# ----- pkg-config end ------- + +MOZILLA_VERSION=1.1.14 +TARFILE_NAME=seamonkey-$(MOZILLA_VERSION).source +TARFILE_MD5=a169ab152209200a7bad29a275cb0333 + +TARFILE_ROOTDIR=mozilla +PATCH_FILES = \ + seamonkey-source-$(MOZILLA_VERSION).patch \ + patches/dtoa.patch \ + patches/respect_disable_pango.patch \ + patches/arm_build_fix.patch \ + patches/link_fontconfig.patch \ + patches/brokenmakefile.patch \ + patches/aix_build_fix.patch \ + patches/libpr0n_build_fix.patch + +# This file is needed for the W32 build when BUILD_MOZAB is set +# (currently only vc8/vs2005 is supported when BUILD_MOZAB is set) +.IF "$(COM)"=="GCC" +LIBIDL_VC71_ZIPFILE_NAME*=vc71-libIDL-0.6.8-bin.zip +LIBGLIB_VC71_ZIPFILE_NAME*=vc71-glib-1.2.10-bin.zip +MOZTOOLS_ZIPFILE_NAME*=wintools.zip +.ELSE +MOZTOOLS_ZIPFILE_NAME*=vc8-moztools.zip +.ENDIF + +ADDITIONAL_FILES=mailnews$/addrbook$/src$/nsAbMD5sum.cpp + +CONFIGURE_DIR= +.IF "$(GUIBASE)"!="aqua" +MOZILLA_CONFIGURE_FLAGS += $(SYSBASE_X11) +.ENDIF + +MOZILLA_CONFIGURE_FLAGS += --disable-tests \ + --enable-application=suite \ + --enable-ldap \ + --enable-crypto \ + --enable-optimize \ + --enable-strip \ + --disable-profilelocking \ + --disable-activex \ + --disable-activex-scripting \ + --disable-gnomevfs \ + --disable-debug \ + --disable-xprint \ + --disable-postscript \ + --without-system-zlib \ + --disable-installer \ + --disable-accessibility \ + --disable-xpfe-components \ + --disable-mathml \ + --disable-oji \ + --disable-profilesharing \ + --disable-boehm \ + --disable-jsloader \ + --disable-canvas \ + --disable-freetype2 \ + --disable-gnomeui \ + --disable-image-encoders \ + --disable-plugins \ + --disable-printing \ + --disable-pango \ + --enable-extensions="pref" + +#disable profilelocking to share profile with mozilla +#disable activex and activex-scripting to remove the dependence of Microsoft_SDK\src\mfc\atlbase.h +#disable gnomevfs to remove the needed of gnome develop files +#disable others to save build times + +.IF "$(GUI)"=="UNX" +.IF "$(GUIBASE)"=="aqua" +MOZILLA_CONFIGURE_FLAGS+= \ + --with-macos-sdk=$(MACOSX_DEV_SDK) \ + --disable-glibtest \ + --enable-macos-target=$(MACOSX_DEPLOYMENT_TARGET) \ + --disable-libxul +DEFAULT_MOZILLA_TOOLKIT=mac +.ELSE +#We do not need mozilla ui, but libIDL version are decided by default toolkit. +#default-toolkit=xlib need libIDL < 0.68 +#default-toolkit=gtk2 need libIDL > 0.8 (know as libIDL2) +DEFAULT_MOZILLA_TOOLKIT*=gtk2 +.ENDIF # "$(GUIBASE)"=="aqua" +MOZILLA_CONFIGURE_FLAGS+= --enable-default-toolkit=$(DEFAULT_MOZILLA_TOOLKIT) +.ENDIF + +# create a objdir build = build files in a seperate directory, not in the sourcetree directly +CONFIGURE_DIR=$(CPU)_objdir +BUILD_DIR=$(CONFIGURE_DIR) +MOZ_CROSSCOMPILE=CROSS_COMPILE=1 CC="$(CC) -arch $(MOZ_ARCH)" CXX="$(CXX) -arch $(MOZ_ARCH)" AR=ar + +CONFIGURE_ACTION=$(null,$(MOZ_ARCH) $(NULL) $(MOZ_CROSSCOMPILE)) ../configure $(MOZILLA_CONFIGURE_FLAGS) + +BUILD_ACTION:=$(GNUMAKE) -j$(EXTMAXPROCESS) + +.IF "$(GUI)"=="UNX" +.IF "$(COMNAME)"=="sunpro5" +CXXFLAGS:=-features=tmplife +.IF "$(CPU)"=="U" +CXXFLAGS+=-m64 +.ENDIF +.EXPORT : CXXFLAGS +.ENDIF # "$(COMNAME)"=="sunpro5" +.ENDIF + +.IF "$(COM)" == "GCC" +CXXFLAGS+=-fpermissive +.IF "$(OS)$(CPUNAME)" == "LINUXPOWERPC64" +CXXFLAGS+=-mminimal-toc +.ENDIF +.EXPORT : CXXFLAGS +.ENDIF + +.IF "$(OS)"=="SOLARIS" && "$(CPUNAME)"=="SPARC" && "$(CPU)"=="U" +PKG_CONFIG_PATH=/usr/lib/64/pkgconfig +.EXPORT: PKG_CONFIG_PATH +MAKE=/usr/sfw/bin/gmake +.EXPORT: MAKE +CFLAGS=-I/usr/sfw/include +.EXPORT: CFLAGS +.ENDIF +.IF "$(COM)"=="C52" && "$(CPUNAME)"=="SPARC" && "$(CPU)"=="U" +CFLAGS=-m64 +ASFLAGS=-m64 +.EXPORT: CFLAGS ASFLAGS +.ENDIF + +MOZDIR=$(MISC)$/build$/seamonkey +MOZTARGET=$(OS)$(COM)$(CPU) + +.IF "$(GUI)"=="WNT" +# "Our" build environment uses "NO" for the environment variable that +# indicate if system libraries should be used, the mozilla build uses +# "" in this case. This conflicts (at least for W32) with mozilla (1.7b) +# because it disables the library checks for msvc so that +# --without-system-* is not evaluated. To build the included libraries +# the affected variables have to be empty and not NO. +.IF "$(SYSTEM_ZLIB)"=="NO" +SYSTEM_ZLIB:= +.EXPORT : SYSTEM_ZLIB +.ENDIF +.IF "$(SYSTEM_JPEG)"=="NO" +SYSTEM_JPEG:= +.EXPORT : SYSTEM_JPEG +.ENDIF + +# For W32-tcsh CC and CXX must not contain the wrapper, and W32-4nt ( in +# some cases ) doesn't work with DOS path notation when building mozilla. +.IF "$(COM)"=="GCC" +CC:=$(CC:s/guw.exe //:s/ -mno-cygwin//) +CXX:=$(CXX:s/guw.exe //:s/ -mno-cygwin//) +CPP:=$(CC) -E +LD:=ld +LIBS:=-lsupc++ +.EXPORT : CPP LIBS +.ELSE +CC:=cl.exe +CXX:=cl.exe +.ENDIF + +# Variables to install/use our own wintools +.IF "$(COM)"=="GCC" +MOZTOOLSUNPACK:=$(MISC)$/build$/moztoolsunpack +MOZTOOLSINST:=$(MISC)$/build$/moztoolsinst +.ELSE +MOZTOOLS_EXTRACT:=$(MISC)$/build$/moztools +.ENDIF +.IF "$(COM)"=="GCC" +MOZ_TOOLS_DOS:=$(shell @cygpath -ad "$(MISC)")\build\moztoolsinst +PATH!:=$(PATH):$(shell @cygpath $(MOZ_TOOLS_DOS))/bin:$(shell @cygpath $(MOZ_TOOLS_DOS))/vc71/bin +SET_MOZ_TOOLS_INSTALL_BAT:=export "MOZ_TOOLS=$(MOZ_TOOLS_DOS)" +.ELSE +MOZ_TOOLS_DOS:=$(shell @cygpath -ad "$(MISC)")\build\moztools\vc8-moztools +PATH!:=$(shell @cygpath $(MOZ_TOOLS_DOS))/bin:$(PATH) +.ENDIF + +MOZ_TOOLS:=$(subst,\,/ $(MOZ_TOOLS_DOS)) +.IF "$(COM)"=="GCC" +GLIB_PREFIX:=$(MOZ_TOOLS)/vc71 +LIBIDL_PREFIX:=$(MOZ_TOOLS)/vc71 +.EXPORT : GLIB_PREFIX LIBIDL_PREFIX +.ENDIF + +.EXPORT : PATH MOZ_TOOLS +.ENDIF # "$(GUI)"=="WNT" + +# --- Targets ------------------------------------------------------ + +.IF "$(BUILD_MOZAB)"=="" +all: + @echo "Never Build Mozilla." +.ENDIF + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + +.IF "$(GUI)"=="WNT" +NEEDWINTOOLSFLAGFILE:=$(MISC)$/build$/moztools.complete +.ENDIF # "$(GUI)"=="WNT" + +ALLTAR: $(NEEDWINTOOLSFLAGFILE) \ + $(MISC)$/remove_build.flag \ + extract_mozab_files + +$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(MISC)$/remove_build.flag + +# Since you never know what will be in a patch (for example, it may already +# patch at configure level), we remove the entire package directory if a patch +# is newer. +$(MISC)$/remove_build.flag : $(PATCH_FILES) + $(REMOVE_PACKAGE_COMMAND) + $(TOUCH) $(MISC)$/remove_build.flag + +# Unpack/setup Windows build tools +.IF "$(GUI)"=="WNT" +$(PACKAGE_DIR)$/$(UNTAR_FLAG_FILE) : $(MISC)$/build$/moztools.complete + +.IF "$(COM)"=="GCC" +$(MISC)$/build$/moztools.unpack : $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME) + -$(RENAME) $(MOZTOOLSUNPACK) $(MOZTOOLSUNPACK)_removeme + -$(RENAME) $(MOZTOOLSINST) $(MOZTOOLSINST)_removeme + -rm -rf $(MOZTOOLSUNPACK)_removeme $(MOZTOOLSINST)_removeme + @-$(MKDIRHIER) $(MOZTOOLSUNPACK) + unzip $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME) -d $(MOZTOOLSUNPACK) + $(TOUCH) $(MISC)$/build$/moztools.unpack + +$(MISC)$/build$/moztools.install : $(MISC)$/build$/moztools.unpack + cd $(MOZTOOLSUNPACK)$/buildtools$/windows && $(SET_MOZ_TOOLS_INSTALL_BAT) && cmd /c install.bat + $(TOUCH) $(MISC)$/build$/moztools.install + +$(MISC)$/build$/moztools.complete : \ + $(MISC)$/build$/moztools.install \ + $(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) \ + $(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME) + unzip $(PRJ)$/download$/$(LIBIDL_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST) + unzip $(PRJ)$/download$/$(LIBGLIB_VC71_ZIPFILE_NAME) -d $(MOZTOOLSINST) +# chmod is also needed for W32-4nt build (when cygwin unzip is used) + -chmod -R +x $(MOZTOOLSINST)$/vc71$/bin + $(TOUCH) $(MISC)$/build$/moztools.complete +.ELSE +$(MISC)$/build$/moztools.unpack : $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME) + -$(RENAME) $(MOZTOOLS_EXTRACT) $(MOZTOOLS_EXTRACT)_removeme + -rm -rf $(MOZTOOLS_EXTRACT)_removeme + @-$(MKDIRHIER) $(MOZTOOLS_EXTRACT) + unzip $(PRJ)$/download$/$(MOZTOOLS_ZIPFILE_NAME) -d $(MOZTOOLS_EXTRACT) +# chmod is also needed for W32-4nt build (when cygwin unzip is used) + -chmod -R +x $(MOZTOOLS_EXTRACT)$/vc8-moztools$/bin + $(TOUCH) $(MISC)$/build$/moztools.unpack + +$(MISC)$/build$/moztools.complete : $(MISC)$/build$/moztools.unpack + $(TOUCH) $(MISC)$/build$/moztools.complete +.ENDIF +.ENDIF # "$(GUI)"=="WNT" + +zip: \ + $(MISC)$/CREATETARBALL + +.IF "$(GUIBASE)"=="aqua" +MOZ_ARCH=$(eq,$(CPU),I i386 ppc) +MOZILLA_CONFIGURE_FLAGS+=$(eq,$(CPU),I --target=i386-apple-darwin8 --target=powerpc-apple-darwin8) + +force_clean : + @$(IFEXIST) $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) $(THEN) echo 'ERROR: get rid of your outputdir first (or refactor the makefiles to allow incremental creation of prebuilt zips). Remember to copy already created zips to a safe place '; exit 1 $(FI) + +zip_intel .SEQUENTIAL: force_clean $(MISC)$/CREATETARBALL + +zip_ppc .SEQUENTIAL: force_clean $(MISC)$/CREATETARBALL + +# target-conditionals, when building target -> Macro is set +zip_intel ?= MOZ_ARCH=i386 +zip_intel ?= MOZILLA_CONFIGURE_FLAGS+=--target=i386-apple-darwin8 +zip_intel ?= CPU=I + +zip_ppc ?= MOZ_ARCH=ppc +zip_ppc ?= MOZILLA_CONFIGURE_FLAGS+=--target=powerpc-apple-darwin8 +zip_ppc ?= CPU=P + +zip_universal: $(OUT)$/zipped$/$(OS)$(COM)UBinc.zip $(OUT)$/zipped$/$(OS)$(COM)UBlib.zip $(OUT)$/zipped$/$(OS)$(COM)UBruntime.zip + @echo "All zips created successfully - copy from $(OUT)$/zipped to \$$SRC_ROOT/moz/zipped and use --disable-build-mozilla to use them" + +$(OUT)$/zipped$/$(OS)$(COM)UBinc.zip : zipped$/$(OS)$(COM)Pinc.zip zipped$/$(OS)$(COM)Iinc.zip + @echo "setting up for $@" + @rm -rf $(MISC)$/UB_inc + @$(MKDIRHIER) $(MISC)$/UB_inc$/intel + @$(MKDIR) $(MISC)$/UB_inc$/ppc + @$(MKDIR) $(MISC)$/UB_inc$/uni + @unzip -q zipped$/$(OS)$(COM)Pinc.zip -d $(MISC)$/UB_inc$/ppc + @unzip -q zipped$/$(OS)$(COM)Iinc.zip -d $(MISC)$/UB_inc$/intel +# use one of the two as basis for the universal one - (saves manually creating directories/copying identical files) + @unzip -q zipped$/$(OS)$(COM)Pinc.zip -d $(MISC)$/UB_inc$/uni +# add safety-warning to host-autogenerated headers (aren't used anywhere in OOo currently, but doesn't hurt to be safe +# bail out on everything that differs and is not a *.h file + @echo "flagging endian-specific headers with #error.." + @diff --brief -r $(MISC)$/UB_inc$/ppc $(MISC)$/UB_inc$/intel | awk \ + '/^Only in/ {{print; print "ERROR - file sets differ!"; exit 1}} \ + /^Files .*\.h differ$$/ {{target="$(MISC)$/UB_inc$/uni$/" substr($$2,length("$(MISC)$/UB_inc$/ppc")+2); \ + system("echo \"#error use native moz-zips, this header is endian-specific!\" | cat - " $$2 " > " target); next}} \ + {{print; print "ERROR - unexpected files encountered!"; exit 2}}' + @cd $(MISC)$/UB_inc$/uni ; zip -q -r ..$/$(@:f) * + @$(MKDIRHIER) $(@:d) + @$(MV) $(MISC)$/UB_inc$/$(@:f) $@ + @echo "successfully created $@" + +$(OUT)$/zipped$/$(OS)$(COM)UBlib.zip : zipped$/$(OS)$(COM)Plib.zip zipped$/$(OS)$(COM)Ilib.zip + @echo "setting up for $@" + @rm -rf $(MISC)$/UB_lib + @$(MKDIRHIER) $(MISC)$/UB_lib$/intel + @$(MKDIR) $(MISC)$/UB_lib$/ppc + @$(MKDIR) $(MISC)$/UB_lib$/uni + @unzip -q zipped$/$(OS)$(COM)Plib.zip -d $(MISC)$/UB_lib$/ppc + @unzip -q zipped$/$(OS)$(COM)Ilib.zip -d $(MISC)$/UB_lib$/intel +# use lipo on .a and .dylib files - bail out on anything else + @echo "creating universal binaries from libs..." + @diff --brief -s -r $(MISC)$/UB_lib$/ppc $(MISC)$/UB_lib$/intel | awk \ + '/^Only in/ {{print "ERROR - file sets differ!"; print; exit 1}} \ + /^Files .*\.(a|dylib) differ$$/ {{target="$(MISC)$/UB_lib$/uni$/" substr($$2,length("$(MISC)$/UB_lib$/ppc")+2); \ + if(0!=system("lipo -create -arch ppc "$$2" -arch i386 "$$4" -output " target)) exit 11; next}} \ + {{print; print "ERROR - unexpected files encountered!"; exit 2}}' + @cd $(MISC)$/UB_lib$/uni ; zip -q -r ..$/$(@:f) * + @$(MKDIRHIER) $(@:d) + @$(MV) $(MISC)$/UB_lib$/$(@:f) $@ + @echo "successfully created $@" + +$(OUT)$/zipped$/$(OS)$(COM)UBruntime.zip : zipped$/$(OS)$(COM)Pruntime.zip zipped$/$(OS)$(COM)Iruntime.zip + @echo "setting up for $@" + @rm -rf $(MISC)$/UB_runtime + @$(MKDIRHIER) $(MISC)$/UB_runtime$/intel + @$(MKDIR) $(MISC)$/UB_runtime$/ppc + @$(MKDIR) $(MISC)$/UB_runtime$/uni + @unzip -q zipped$/$(OS)$(COM)Pruntime.zip -d $(MISC)$/UB_runtime$/ppc + @unzip -q zipped$/$(OS)$(COM)Iruntime.zip -d $(MISC)$/UB_runtime$/intel +# use one of the two as basis for the universal one - (saves manually creating directories/copying identical files) + @unzip -q zipped$/$(OS)$(COM)Pruntime.zip -d $(MISC)$/UB_runtime$/uni +# @line -comments in autogenerated files: contains path of source-file, ignore different objdirs + @echo "creating universal binaries from libs..." + @diff --brief -I "^//@line [0-9][0-9]*" -r $(MISC)$/UB_runtime$/ppc $(MISC)$/UB_runtime$/intel | awk \ + '/^Only in/ {{print; print "ERROR - file sets differ!"; exit 1}} \ + /^Files .*\.dylib differ$$/ {{target="$(MISC)$/UB_runtime$/uni$/" substr($$2,length("$(MISC)$/UB_runtime$/ppc")+2); \ + if(0!=system("lipo -create -arch ppc "$$2" -arch i386 "$$4" -output " target)) exit 11; next}} \ + {{print; print "ERROR - unexpected files encountered!"; exit 2}}' + @cd $(MISC)$/UB_lib$/uni ; zip -q -r ..$/$(@:f) * + @$(MKDIRHIER) $(@:d) + @$(MV) $(MISC)$/UB_lib$/$(@:f) $@ + @echo "successfully created $@" + +.ENDIF # $(GUIBASE)=="aqua" + +.INCLUDE : extractfiles.mk diff --git a/moz/patches/aix_build_fix.patch b/moz/patches/aix_build_fix.patch new file mode 100644 index 000000000000..d778532eeb44 --- /dev/null +++ b/moz/patches/aix_build_fix.patch @@ -0,0 +1,203 @@ +--- misc/mozilla/nsprpub/configure 2010-08-19 07:05:19.000000000 -0500 ++++ misc/build/mozilla/nsprpub/configure 2010-08-19 07:34:33.000000000 -0500 +@@ -2938,7 +2938,8 @@ + #define SYSV 1 + EOF + +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' + ac_safe=`echo "sys/atomic_op.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for sys/atomic_op.h""... $ac_c" 1>&6 + echo "configure:2944: checking for sys/atomic_op.h" >&5 +@@ -3067,7 +3068,6 @@ + AIX_LINK_OPTS='-brtl -bnso -berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/mozilla/nsprpub/configure.in 2010-08-19 07:05:19.000000000 -0500 ++++ misc/build/mozilla/nsprpub/configure.in 2010-08-19 07:35:35.000000000 -0500 +@@ -811,7 +811,8 @@ + AC_DEFINE(XP_UNIX) + AC_DEFINE(AIX) + AC_DEFINE(SYSV) +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' + AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H)) + case "${target_os}" in + aix3.2*) +@@ -854,7 +855,6 @@ + AIX_LINK_OPTS='-brtl -bnso -berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/mozilla/security/coreconf/AIX.mk 2010-08-19 07:04:11.000000000 -0500 ++++ misc/build/mozilla/security/coreconf/AIX.mk 2010-08-19 07:38:42.000000000 -0500 +@@ -62,35 +62,30 @@ + + DEFAULT_COMPILER = xlc_r + +-CC = xlc_r +-CCC = xlC_r ++CCC = $(CXX) + + CPU_ARCH = rs6000 + + RANLIB = ranlib + + OS_CFLAGS = -DAIX -DSYSV +-OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm ++OS_LIBS += -Wl,-blibpath:/usr/lib:/lib -lc -lm + +-DSO_LDOPTS = -brtl -bnortllib -bM:SRE -bnoentry +-MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm ++DSO_LDOPTS = -Wl,-brtl -Wl,-bnortllib ++MKSHLIB = $(CC) --shared $(DSO_LDOPTS) -Wl,-blibpath:/usr/lib:/lib -lc -lm + + AIX_WRAP = $(DIST)/lib/aixwrap.o + AIX_TMP = $(OBJDIR)/_aix_tmp.o + + ifdef MAPFILE +-DSO_LDOPTS += -bexport:$(MAPFILE) ++DSO_LDOPTS += -Wl,-bexport:$(MAPFILE) + else +-DSO_LDOPTS += -bexpall ++DSO_LDOPTS += -Wl,-bexpall + endif + + PROCESS_MAP_FILE = grep -v ';+' $< | grep -v ';-' | \ + sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@ + +-ifdef BUILD_OPT +- OPTIMIZER += -qmaxmem=-1 +-endif +- + ifeq ($(USE_64), 1) + OS_CFLAGS += -DAIX_64BIT + OBJECT_MODE=64 +--- misc/mozilla/security/nss/cmd/platlibs.mk 2010-08-19 07:03:52.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/platlibs.mk 2010-08-19 07:39:10.000000000 -0500 +@@ -154,7 +154,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) +@@ -207,7 +207,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # If GNU ld is used, we must use the -rpath-link option to tell +--- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-19 07:03:57.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-19 07:42:30.000000000 -0500 +@@ -74,6 +74,10 @@ + + include $(CORE_DEPTH)/coreconf/rules.mk + ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif ++ + ####################################################################### + # (6) Execute "component" rules. (OPTIONAL) # + ####################################################################### +--- misc/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-19 07:03:57.000000000 -0500 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-19 07:41:51.000000000 -0500 +@@ -74,6 +74,8 @@ + # (7) Execute "local" rules. (OPTIONAL). # + ####################################################################### + ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif + + include ../../platrules.mk +- +--- misc/mozilla/dbm/include/mcom_db.h 2010-08-19 08:39:18.000000000 -0500 ++++ misc/build/mozilla/dbm/include/mcom_db.h 2010-08-19 08:39:45.000000000 -0500 +@@ -88,7 +88,7 @@ + + #ifdef __DBINTERFACE_PRIVATE + +-#ifdef HAVE_SYS_CDEFS_H ++#if defined(HAVE_SYS_CDEFS_H) && !defined(_AIX) + #include <sys/cdefs.h> + #else + #include "cdefs.h" +--- misc/mozilla/configure 2010-08-19 09:18:07.000000000 -0500 ++++ misc/build/mozilla/configure 2010-08-19 09:11:35.000000000 -0500 +@@ -5884,6 +5884,9 @@ + CC_VERSION=`lslpp -Lcq vac.C 2>/dev/null | awk -F: '{ print $3 }'` + CXX_VERSION=`lslpp -Lcq vacpp.cmp.core 2>/dev/null | awk -F: '{ print $3 }'` + fi ++ else ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure.in 2010-08-19 09:18:07.000000000 -0500 ++++ misc/build/mozilla/configure.in 2010-08-19 09:10:46.000000000 -0500 +@@ -1489,6 +1489,9 @@ + CC_VERSION=`lslpp -Lcq vac.C 2>/dev/null | awk -F: '{ print $3 }'` + CXX_VERSION=`lslpp -Lcq vacpp.cmp.core 2>/dev/null | awk -F: '{ print $3 }'` + fi ++ else ++ MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure 2010-08-19 11:03:27.000000000 -0500 ++++ misc/build/mozilla/configure 2010-08-19 11:05:38.000000000 -0500 +@@ -5887,6 +5887,8 @@ + else + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ MOZ_FIX_LINK_PATHS= ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-brtl" + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/configure.in 2010-08-19 11:03:36.000000000 -0500 ++++ misc/build/mozilla/configure.in 2010-08-19 11:04:33.000000000 -0500 +@@ -1492,6 +1492,9 @@ + else + MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' + MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@' ++ AC_MSG_WARN([Clearing MOZ_FIX_LINK_PATHS till we can fix bug 332075.]) ++ MOZ_FIX_LINK_PATHS= ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-brtl" + fi + case "${target_os}" in + aix4.1*) +--- misc/mozilla/config/rules.mk 2010-08-20 04:09:51.000000000 -0500 ++++ misc/build/mozilla/config/rules.mk 2010-08-20 05:02:37.000000000 -0500 +@@ -488,8 +488,13 @@ + ifeq ($(OS_ARCH),AIX) + ifdef IS_COMPONENT + ifneq ($(HAS_EXTRAEXPORTS),1) ++ifdef GNU_CC ++MKSHLIB += -Wl,-bE:$(MOZILLA_DIR)/build/unix/aix.exp -Wl,-bnoexpall ++MKCSHLIB += -Wl,-bE:$(MOZILLA_DIR)/build/unix/aix.exp -Wl,-bnoexpall ++else + MKSHLIB += -bE:$(MOZILLA_DIR)/build/unix/aix.exp -bnoexpall + MKCSHLIB += -bE:$(MOZILLA_DIR)/build/unix/aix.exp -bnoexpall ++endif # GNU_CXX + endif # HAS_EXTRAEXPORTS + endif # IS_COMPONENT + endif # AIX diff --git a/moz/patches/arm_build_fix.patch b/moz/patches/arm_build_fix.patch new file mode 100644 index 000000000000..79368e5fe6db --- /dev/null +++ b/moz/patches/arm_build_fix.patch @@ -0,0 +1,189 @@ +--- misc/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2010-01-29 08:39:01.000000000 +0000 ++++ misc/build/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2010-01-29 08:41:01.000000000 +0000 +@@ -44,8 +44,21 @@ + #error "This code is for Linux ARM only. Please check if it works for you, too.\nDepends strongly on gcc behaviour." + #endif + ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++/* This tells gcc3.4+ not to optimize away symbols. ++ * * @see http://gcc.gnu.org/gcc-3.4/changes.html ++ * */ ++#define DONT_DROP_OR_WARN __attribute__((used)) ++#else ++/* This tells older gccs not to warn about unused vairables. ++ * * @see http://docs.freebsd.org/info/gcc/gcc.info.Variable_Attributes.html ++ * */ ++#define DONT_DROP_OR_WARN __attribute__((unused)) ++#endif ++ + /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ +-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); ++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") ++DONT_DROP_OR_WARN; + + static nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) +--- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2010-02-05 13:13:56.000000000 +0000 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2010-02-05 13:14:16.000000000 +0000 +@@ -124,5 +124,5 @@ + endif + endif + +-libs install :: $(CHECKLOC) ++libs install :: + +--- misc/mozilla/security/manager/Makefile.in 2010-02-05 13:27:25.000000000 +0000 ++++ misc/build/mozilla/security/manager/Makefile.in 2010-02-05 13:28:00.000000000 +0000 +@@ -53,7 +53,6 @@ + SMIME3_LIB \ + SSL3_LIB \ + SOFTOKEN3_LIB \ +- SOFTOKEN3_CHK \ + LOADABLE_ROOT_MODULE \ + HAVE_FREEBL_LIBS \ + HAVE_FREEBL_LIBS_32 \ +@@ -68,7 +67,6 @@ + SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX) + SSL3_LIB = $(DLL_PREFIX)ssl3$(DLL_SUFFIX) + SOFTOKEN3_LIB = $(DLL_PREFIX)softokn3$(DLL_SUFFIX) +-SOFTOKEN3_CHK = $(DLL_PREFIX)softokn3.chk + + # Default + HAVE_FREEBL_LIBS = 1 +@@ -99,23 +97,17 @@ + + ifdef HAVE_FREEBL_LIBS + FREEBL_LIB = $(DLL_PREFIX)freebl3$(DLL_SUFFIX) +-FREEBL_CHK = $(DLL_PREFIX)freebl3.chk + endif + ifdef HAVE_FREEBL_LIBS_32 + FREEBL_32INT_LIB = libfreebl_32int_3$(DLL_SUFFIX) +-FREEBL_32INT_CHK = libfreebl_32int_3.chk + FREEBL_32FPU_LIB = libfreebl_32fpu_3$(DLL_SUFFIX) +-FREEBL_32FPU_CHK = libfreebl_32fpu_3.chk + endif + ifdef HAVE_FREEBL_LIBS_32INT64 + FREEBL_32INT64_LIB = libfreebl_32int64_3$(DLL_SUFFIX) +-FREEBL_32INT64_CHK = libfreebl_32int64_3.chk + endif + ifdef HAVE_FREEBL_LIBS_64 + FREEBL_64INT_LIB = libfreebl_64int_3$(DLL_SUFFIX) +-FREEBL_64INT_CHK = libfreebl_64int_3.chk + FREEBL_64FPU_LIB = libfreebl_64fpu_3$(DLL_SUFFIX) +-FREEBL_64FPU_CHK = libfreebl_64fpu_3.chk + endif + + ABS_DIST := $(shell cd $(DIST) && pwd) +@@ -210,7 +202,6 @@ + OS_ARCH="$(OS_ARCH)" \ + CPU_ARCH="$(TARGET_CPU)" \ + $(NULL) +-SKIP_CHK=1 + endif + SUBMAKEFILES = boot/Makefile ssl/Makefile pki/Makefile locales/Makefile + +@@ -223,10 +214,6 @@ + ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean +-endif + touch $@ + endif + +@@ -262,43 +249,22 @@ + # In NSS 3.11.8-3.11.9, lib/ssl/derive.c includes cmd/lib/secutil.h. + $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) export + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) DIRS="util base dev pki pki1 certdb certhigh pk11wrap cryptohi nss ssl pkcs12 pkcs7 smime crmf jar ckfw ckfw/builtins" +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DIST)/bin +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin + ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin + endif +@@ -313,38 +279,21 @@ + install:: + ifndef MOZ_NATIVE_NSS + $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir) +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir) + ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir) + endif +@@ -366,10 +315,6 @@ + ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean +-endif + endif + + echo-requires-recursive:: diff --git a/moz/patches/brokenmakefile.patch b/moz/patches/brokenmakefile.patch new file mode 100644 index 000000000000..20d88014b932 --- /dev/null +++ b/moz/patches/brokenmakefile.patch @@ -0,0 +1,13 @@ +--- misc/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:00:38.000000000 +0100 ++++ misc/build/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:02:24.000000000 +0100 +@@ -79,10 +79,6 @@ + $(DIST)/lib/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \ + $(NULL) + +-ifndef MOZ_STATIC_MAIL_BUILD +-SHARED_LIBRARY_LIBS + = $(DIST)/lib/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX) +-endif +- + EXTRA_DSO_LDOPTS = \ + $(LIBS_DIR) \ + $(EXTRA_DSO_LIBS) \ diff --git a/moz/patches/consecutive_ldap_queries.patch b/moz/patches/consecutive_ldap_queries.patch new file mode 100644 index 000000000000..d82d594bce09 --- /dev/null +++ b/moz/patches/consecutive_ldap_queries.patch @@ -0,0 +1,13 @@ +--- mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2009-02-02 09:39:32.054968600 +0100 ++++ mozilla.patched/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2009-02-02 09:35:35.633832119 +0100 +@@ -833,6 +833,10 @@ + if (msgListener) + { + msgListener->mUrl = url; ++ msgListener->mQueryListener = listener; ++ msgListener->mResultLimit = resultLimit; ++ msgListener->mTimeOut = timeOut; ++ msgListener->mQueryArguments = arguments; + return msgListener->DoSearch(); + } + } diff --git a/moz/patches/cygwin_paths_in_ldap_sdk.patch b/moz/patches/cygwin_paths_in_ldap_sdk.patch new file mode 100644 index 000000000000..e0983aecbe74 --- /dev/null +++ b/moz/patches/cygwin_paths_in_ldap_sdk.patch @@ -0,0 +1,12 @@ +--- mozilla.org/directory/c-sdk/ldap/include/Makefile.in 2006-02-03 15:44:33.000000000 +0100 ++++ mozilla/directory/c-sdk/ldap/include/Makefile.in 2008-10-31 23:34:41.695625000 +0100 +@@ -85,6 +85,9 @@ + + ########################################################################### + ++INCLUDEDIR:=$(shell cygpath -u $(INCLUDEDIR)) ++GENHEADERS:=$(shell cygpath -u $(GENHEADERS)) ++ + all export:: $(INCLUDEDIR) $(GENHEADERS) + $(NSINSTALL) -D $(PRIVATEINCDIR) + $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR) diff --git a/moz/patches/dtoa.patch b/moz/patches/dtoa.patch new file mode 100644 index 000000000000..fce3be38b10b --- /dev/null +++ b/moz/patches/dtoa.patch @@ -0,0 +1,237 @@ +--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7 ++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000 +@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void) + * Llong, #define #ULLong to be the corresponding unsigned type. + * #define KR_headers for old-style C function headers. + * #define Bad_float_h if your system lacks a float.h or if it does not + * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, + * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. + * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) + * if memory is available and otherwise does something you deem + * appropriate. If MALLOC is undefined, malloc will be invoked +- * directly -- and assumed always to succeed. ++ * directly -- and assumed always to succeed. Similarly, if you ++ * want something other than the system's free() to be called to ++ * recycle memory acquired from MALLOC, #define FREE to be the ++ * name of the alternate routine. (FREE or free is only called in ++ * pathological cases, e.g., in a dtoa call after a dtoa return in ++ * mode 3 with thousands of digits requested.) + * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making + * memory allocations from a private pool of memory when possible. + * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, + * unless #defined to be a different length. This default length + * suffices to get rid of MALLOC calls except for unusual cases, + * such as decimal-to-binary conversion of a very long string of + * digits. The longest string dtoa can return is about 751 bytes + * long. For conversions by strtod of strings of 800 digits and +@@ -553,17 +558,17 @@ extern double rnd_prod(double, double), + #endif + #endif /* NO_LONG_LONG */ + + #ifndef MULTIPLE_THREADS + #define ACQUIRE_DTOA_LOCK(n) /*nothing*/ + #define FREE_DTOA_LOCK(n) /*nothing*/ + #endif + +-#define Kmax 15 ++#define Kmax 7 + + struct + Bigint { + struct Bigint *next; + int k, maxwds, sign, wds; + ULong x[1]; + }; + +@@ -581,27 +586,28 @@ Balloc + { + int x; + Bigint *rv; + #ifndef Omit_Private_Memory + unsigned int len; + #endif + + ACQUIRE_DTOA_LOCK(0); +- if (rv = freelist[k]) { ++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ ++ /* but this case seems very unlikely. */ ++ if (k <= Kmax && (rv = freelist[k])) + freelist[k] = rv->next; +- } + else { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); +- if (pmem_next - private_mem + len <= PRIVATE_mem) { ++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; + pmem_next += len; + } + else + rv = (Bigint*)MALLOC(len*sizeof(double)); + #endif + rv->k = k; + rv->maxwds = x; +@@ -615,20 +621,28 @@ Balloc + Bfree + #ifdef KR_headers + (v) Bigint *v; + #else + (Bigint *v) + #endif + { + if (v) { +- ACQUIRE_DTOA_LOCK(0); +- v->next = freelist[v->k]; +- freelist[v->k] = v; +- FREE_DTOA_LOCK(0); ++ if (v->k > Kmax) ++#ifdef FREE ++ FREE((void*)v); ++#else ++ free((void*)v); ++#endif ++ else { ++ ACQUIRE_DTOA_LOCK(0); ++ v->next = freelist[v->k]; ++ freelist[v->k] = v; ++ FREE_DTOA_LOCK(0); ++ } + } + } + + #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ + y->wds*sizeof(Long) + 2*sizeof(int)) + + static Bigint * + multadd +--- misc/mozilla/js/src/jsdtoa.c 2 Sep 2007 22:20:41 -0000 3.41 ++++ misc/build/mozilla/js/src/jsdtoa.c 18 Sep 2009 16:15:13 -0000 +@@ -145,17 +145,22 @@ + * and if "unsigned Llong" does not work as an unsigned version of + * Llong, #define #ULLong to be the corresponding unsigned type. + * #define Bad_float_h if your system lacks a float.h or if it does not + * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, + * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. + * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) + * if memory is available and otherwise does something you deem + * appropriate. If MALLOC is undefined, malloc will be invoked +- * directly -- and assumed always to succeed. ++ * directly -- and assumed always to succeed. Similarly, if you ++ * want something other than the system's free() to be called to ++ * recycle memory acquired from MALLOC, #define FREE to be the ++ * name of the alternate routine. (FREE or free is only called in ++ * pathological cases, e.g., in a dtoa call after a dtoa return in ++ * mode 3 with thousands of digits requested.) + * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making + * memory allocations from a private pool of memory when possible. + * When used, the private pool is PRIVATE_MEM bytes long: 2000 bytes, + * unless #defined to be a different length. This default length + * suffices to get rid of MALLOC calls except for unusual cases, + * such as decimal-to-binary conversion of a very long string of + * digits. + * #define INFNAN_CHECK on IEEE systems to cause strtod to check for +@@ -320,17 +325,17 @@ static PRLock *freelist_lock; + JS_END_MACRO + #define RELEASE_DTOA_LOCK() PR_Unlock(freelist_lock) + #else + #undef MULTIPLE_THREADS + #define ACQUIRE_DTOA_LOCK() /*nothing*/ + #define RELEASE_DTOA_LOCK() /*nothing*/ + #endif + +-#define Kmax 15 ++#define Kmax 7 + + struct Bigint { + struct Bigint *next; /* Free list link */ + int32 k; /* lg2(maxwds) */ + int32 maxwds; /* Number of words allocated for x */ + int32 sign; /* Zero if positive, 1 if negative. Ignored by most Bigint routines! */ + int32 wds; /* Actual number of words. If value is nonzero, the most significant word must be nonzero. */ + ULong x[1]; /* wds words of number in little endian order */ +@@ -400,26 +405,26 @@ static Bigint *Balloc(int32 k) + + #ifdef ENABLE_OOM_TESTING + if (++allocationNum == desiredFailure) { + printf("Forced Failing Allocation number %d\n", allocationNum); + return NULL; + } + #endif + +- if ((rv = freelist[k]) != NULL) ++ if (k <= Kmax && (rv = freelist[k]) != NULL) + freelist[k] = rv->next; + if (rv == NULL) { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); +- if (pmem_next - private_mem + len <= PRIVATE_mem) { ++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; + pmem_next += len; + } + else + rv = (Bigint*)MALLOC(len*sizeof(double)); + #endif + if (!rv) + return NULL; +@@ -428,18 +433,26 @@ static Bigint *Balloc(int32 k) + } + rv->sign = rv->wds = 0; + return rv; + } + + static void Bfree(Bigint *v) + { + if (v) { +- v->next = freelist[v->k]; +- freelist[v->k] = v; ++ if (v->k > Kmax) ++#ifdef FREE ++ FREE((void*)v); ++#else ++ free((void*)v); ++#endif ++ else { ++ v->next = freelist[v->k]; ++ freelist[v->k] = v; ++ } + } + } + + #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ + y->wds*sizeof(Long) + 2*sizeof(int32)) + + /* Return b*m + a. Deallocate the old b. Both a and m must be between 0 and + * 65535 inclusive. NOTE: old b is deallocated on memory failure. +--- misc/mozilla/js/src/jsdtoa.c 22 Sep 2009 06:16:27 -0000 3.42 ++++ misc/build/mozilla/js/src/jsdtoa.c 15 Oct 2009 10:34:38 -0000 +@@ -405,19 +405,19 @@ static Bigint *Balloc(int32 k) + + #ifdef ENABLE_OOM_TESTING + if (++allocationNum == desiredFailure) { + printf("Forced Failing Allocation number %d\n", allocationNum); + return NULL; + } + #endif + +- if (k <= Kmax && (rv = freelist[k]) != NULL) ++ if (k <= Kmax && (rv = freelist[k])) + freelist[k] = rv->next; +- if (rv == NULL) { ++ else { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); + if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; diff --git a/moz/patches/embed_manifest.patch b/moz/patches/embed_manifest.patch new file mode 100755 index 000000000000..3b0e80b3ab81 --- /dev/null +++ b/moz/patches/embed_manifest.patch @@ -0,0 +1,142 @@ +--- mozilla.pure/configure 2008-06-16 00:25:31.000000000 +0200 ++++ mozilla/configure 2008-11-09 23:59:19.984375000 +0100 +@@ -1068,6 +1068,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + MISSING_X= + for ac_prog in gawk mawk nawk awk + do +@@ -3025,6 +3027,22 @@ + else + { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; } + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ echo "configure: warning: Unknown version of the Microsoft (R) Manifest Tool." 1>&2 ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ { echo "Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; } ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +--- mozilla.pure/configure.in 2008-06-16 00:25:32.000000000 +0200 ++++ mozilla/configure.in 2008-11-09 23:59:20.000000000 +0100 +@@ -126,6 +126,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + dnl Set various checks + dnl ======================================================== + MISSING_X= +@@ -428,6 +430,22 @@ + else + AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.]) + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ AC_MSG_WARN([Unknown version of the Microsoft (R) Manifest Tool.]) ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ AC_MSG_ERROR([Microsoft (R) Manifest Tool must be in your \$PATH.]) ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +@@ -7319,6 +7339,7 @@ + AC_SUBST(USE_N32) + AC_SUBST(CC_VERSION) + AC_SUBST(CXX_VERSION) ++AC_SUBST(MSMANIFEST_TOOL) + + if test "$USING_HCC"; then + CC='${topsrcdir}/build/hcc' +--- mozilla.pure/config/rules.mk 2008-01-29 20:30:22.000000000 +0100 ++++ mozilla/config/rules.mk 2008-11-09 23:59:19.968750000 +0100 +@@ -811,6 +812,12 @@ + + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(PROGOBJS) $(RESFILE) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(BIN_FLAGS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(EXE_DEF_FILE) +@@ -843,6 +850,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH)) + $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + $(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) + endif +@@ -866,6 +879,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -nologo -out:$@ -pdb:$(PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) $(WRAP_MALLOC_CFLAGS) $(CXXFLAGS) -o $@ $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(BIN_FLAGS) +@@ -1019,6 +1038,14 @@ + endif # SHARED_LIBRARY_LIBS + endif # NO_LD_ARCHIVE_FLAGS + $(MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(LOBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) ++ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool ++endif # WINNT && !GCC + @rm -f foodummyfilefoo $(SUB_SHLOBJS) $(DELETE_AFTER_LINK) + else # os2 vacpp + $(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) +--- mozilla.pure/config/autoconf.mk.in 2006-09-14 20:07:03.000000000 +0200 ++++ mozilla/config/autoconf.mk.in 2008-11-09 23:59:19.953125000 +0100 +@@ -543,6 +543,7 @@ + MOZ_TOOLS_DIR = @MOZ_TOOLS_DIR@ + MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@ + MOZ_QUANTIFY = @MOZ_QUANTIFY@ ++MSMANIFEST_TOOL = @MSMANIFEST_TOOL@ + + #python options + PYTHON = @MOZ_PYTHON@ diff --git a/moz/patches/index.txt b/moz/patches/index.txt new file mode 100644 index 000000000000..fd27f442a05c --- /dev/null +++ b/moz/patches/index.txt @@ -0,0 +1,65 @@ +====================================================================================
+File name
+---------
+ embed_manifest.patch
+
+Description
+-----------
+ When building Mozilla with MSVC2005, generated libraries and applications
+ require the manifest file (name.dll.manifest) to reside beside the file
+ itself, or to be embedded.
+
+ The patch does the latter: embedding the manifest file into the
+ library/application itself, using the Manifest Tool from the Platform SDK
+ resp. MSVC installation.
+
+ The patch is effectively the patch as was committed to the Mozilla trunk,
+ taken from here: https://bugzilla.mozilla.org/show_bug.cgi?id=249782#c81.
+
+====================================================================================
+File name
+---------
+ wchart_on_msvc8.patch
+
+Description
+-----------
+ For compiling with MSVC2005: See https://bugzilla.mozilla.org/show_bug.cgi?id=324842.
+
+====================================================================================
+File name
+---------
+ cygwin_paths_in_ldap_sdk.patch
+
+Description
+-----------
+ make 1.81, as currently part of cygwin, does not support Windows paths anymore.
+ So, targets, and target dependencies, in makefile may need to be converted to cygwin
+ notation. This patch does this for directory/c-sdk/ldap/include, other occurances are
+ not known, yet.
+
+====================================================================================
+File name
+---------
+ no_core_abspath_in_nss.patch
+
+Description
+-----------
+ On various platforms, building security/nss/cmd/shlibsign fails. In all cases, the
+ error messages indicate the core_abspath macro used in the Makefile is not resolved
+ properly.
+ This patch replaces the usage of core_abspath with platform-specific constructs.
+
+====================================================================================
+File name
+---------
+ consecutive_ldap_queries.patch
+
+Description
+-----------
+ Consecutive LDAP address book queries (using the same instance of nsAbLDAPDirectoryQuery,
+ but different parameters to the DoQuery method) do not work in OOo. The reason is that
+ the second call to DoQuery ignores most of its arguments, including the listener which
+ is to be notified about the query results, and re-uses the arguments from the first
+ call.
+ The patch changes the DoQuery behavior to respect the arguments of the second call.
+
diff --git a/moz/patches/libpr0n_build_fix.patch b/moz/patches/libpr0n_build_fix.patch new file mode 100644 index 000000000000..083e493fe782 --- /dev/null +++ b/moz/patches/libpr0n_build_fix.patch @@ -0,0 +1,14 @@ +--- misc/mozilla/modules/libpr0n/build/Makefile.in 2006-05-20 19:20:48.000000000 +0200 ++++ misc/build/mozilla/modules/libpr0n/build/Makefile.in 2011-01-19 05:18:01.318000024 +0100 +@@ -106,9 +106,9 @@ + export:: + @{ \ + $(foreach d,$(filter-out icon,$(MOZ_IMG_DECODERS)), \ +- echo "#define IMG_BUILD_DECODER_${d}";) \ ++ echo "#define IMG_BUILD_DECODER_${d}" ; ) \ + $(foreach d,$(MOZ_IMG_ENCODERS), \ +- echo "#define IMG_BUILD_ENCODER_${d}";) \ ++ echo "#define IMG_BUILD_ENCODER_${d}" ; ) \ + } > nsImgBuildDefines.tmp + @if `cmp -s nsImgBuildDefines.h nsImgBuildDefines.tmp`; then \ + rm -f nsImgBuildDefines.tmp; \ diff --git a/moz/patches/link_fontconfig.patch b/moz/patches/link_fontconfig.patch new file mode 100644 index 000000000000..66e82fa63e52 --- /dev/null +++ b/moz/patches/link_fontconfig.patch @@ -0,0 +1,11 @@ +--- misc/mozilla/gfx/src/gtk/Makefile.in 2010-03-16 14:44:44.000000000 +0000 ++++ misc/build/mozilla/gfx/src/gtk/Makefile.in 2010-03-16 14:45:08.000000000 +0000 +@@ -183,7 +183,7 @@ + endif + + ifdef MOZ_ENABLE_XFT +-EXTRA_DSO_LDOPTS += $(FT2_LIBS) ++EXTRA_DSO_LDOPTS += $(FT2_LIBS) -lfontconfig + + libs:: fontEncoding.properties pangoFontEncoding.properties + $(INSTALL) $^ $(DIST)/bin/res/fonts diff --git a/moz/patches/no_core_abspath_in_nss.patch b/moz/patches/no_core_abspath_in_nss.patch new file mode 100644 index 000000000000..026cc7e3eb92 --- /dev/null +++ b/moz/patches/no_core_abspath_in_nss.patch @@ -0,0 +1,52 @@ +--- mozilla.pure/security/nss/cmd/shlibsign/Makefile 2007-02-16 03:16:24.000000000 +0100 ++++ mozilla/security/nss/cmd/shlibsign/Makefile 2008-11-05 14:04:54.798875000 +0100 +@@ -86,18 +86,47 @@ + + include ../platrules.mk + +-SRCDIR = $(call core_abspath,.) +- ++ifeq ($(OS_TARGET), Darwin) ++ SRCDIR = . ++else ++ifeq ($(OS_TARGET), Linux) ++ SRCDIR = . ++else ++ifeq ($(OS_TARGET), WIN95) ++ SRCDIR = $(shell cygpath -d $(SRCDIR)) ++else ++ SRCDIR = $(call core_abspath,.) ++endif ++endif ++endif + %.chk: %.$(DLL_SUFFIX) + ifeq ($(OS_TARGET), OS2) + cd $(OBJDIR) ; cmd.exe /c $(SRCDIR)/sign.cmd $(DIST) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + else ++ifeq ($(OS_TARGET), WIN95) ++ sh $(CYGWIN_WRAPPER) ./sign.sh $(shell cygpath -d -a $(DIST)) \ ++ $(shell cygpath -d -a $(OBJDIR)) $(OS_TARGET) \ ++ $(shell cygpath -d -a $(NSPR_LIB_DIR)) $(shell cygpath -d -a $<) ++else ++ifeq ($(OS_TARGET), Darwin) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else ++ifeq ($(OS_TARGET), Linux) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else + cd $(OBJDIR) ; sh $(SRCDIR)/sign.sh $(call core_abspath,$(DIST)) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + endif ++endif ++endif ++endif + + libs install :: $(CHECKLOC) + diff --git a/moz/patches/respect_disable_pango.patch b/moz/patches/respect_disable_pango.patch new file mode 100644 index 000000000000..07a83e9dd40a --- /dev/null +++ b/moz/patches/respect_disable_pango.patch @@ -0,0 +1,54 @@ +--- misc/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2006-02-28 15:55:35.000000000 +0100 ++++ misc/build/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2009-11-13 15:12:24.000000000 +0100 +@@ -66,10 +66,12 @@ + #endif /* MOZ_WIDGET_GTK */ + + #ifdef MOZ_WIDGET_GTK2 ++#ifdef MOZ_ENABLE_PANGO + #include <pango/pango.h> + #include <pango/pangox.h> + #include <pango/pango-fontmap.h> + #endif ++#endif + + #ifdef MOZ_ENABLE_XFT + #include "nsFontMetricsUtils.h" +@@ -963,9 +965,11 @@ + #ifdef MOZ_WIDGET_GTK2 + + #ifdef MOZ_ENABLE_COREXFONTS ++#ifdef MOZ_ENABLE_PANGO + static void xlfd_from_pango_font_description(GtkWidget *aWidget, + const PangoFontDescription *aFontDesc, + nsString& aFontName); ++#endif + #endif /* MOZ_ENABLE_COREXFONTS */ + + nsresult +@@ -997,10 +1001,12 @@ + #endif /* MOZ_ENABLE_XFT */ + + #ifdef MOZ_ENABLE_COREXFONTS ++#ifdef MOZ_ENABLE_PANGO + // if name already set by Xft, do nothing + if (!aFont->name.Length()) { + xlfd_from_pango_font_description(aWidget, desc, aFont->name); + } ++#endif /* MOZ_ENABLE_PANGO */ + #endif /* MOZ_ENABLE_COREXFONTS */ + aFont->weight = pango_font_description_get_weight(desc); + +@@ -1104,6 +1110,7 @@ + #endif /* MOZ_ENABLE_XFT */ + + #if defined(MOZ_WIDGET_GTK2) && defined(MOZ_ENABLE_COREXFONTS) ++#ifdef MOZ_ENABLE_PANGO + // xlfd_from_pango_font_description copied from vte, which was + // written by nalin@redhat.com, and added some codes. + static void +@@ -1226,4 +1233,5 @@ + g_free(spec); + g_object_unref(font); + } ++#endif + #endif /* MOZ_WIDGET_GTK2 && MOZ_ENABLE_COREXFONTS */ diff --git a/moz/patches/wchart_on_msvc8.patch b/moz/patches/wchart_on_msvc8.patch new file mode 100644 index 000000000000..a8f31cd4c3e3 --- /dev/null +++ b/moz/patches/wchart_on_msvc8.patch @@ -0,0 +1,20 @@ +--- mozilla.pure/configure.in 2008-06-16 00:25:32.000000000 +0200 ++++ mozilla/configure.in 2008-11-10 16:15:36.859375000 +0100 +@@ -425,6 +425,7 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.]) + fi +--- mozilla.pure/configure 2008-06-16 00:25:31.000000000 +0200 ++++ mozilla/configure 2008-11-10 16:15:30.437500000 +0100 +@@ -3022,6 +3022,7 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; } + fi diff --git a/moz/prj/build.lst b/moz/prj/build.lst new file mode 100644 index 000000000000..02c1bae213df --- /dev/null +++ b/moz/prj/build.lst @@ -0,0 +1,4 @@ +moz moz : solenv NSS:nss NULL +moz moz usr1 - all moz_mkout NULL +moz moz nmake - all moz_mozilla NULL +moz moz\zipped nmake - all moz_zipped moz_mozilla NULL diff --git a/moz/prj/d.lst b/moz/prj/d.lst new file mode 100644 index 000000000000..1835ea726158 --- /dev/null +++ b/moz/prj/d.lst @@ -0,0 +1,257 @@ +mkdir: %_DEST%\inc\mozilla +mkdir: %COMMON_DEST%\inc\mozilla +mkdir: %_DEST%\inc\mozilla\absync +mkdir: %_DEST%\inc\mozilla\accessibility +mkdir: %_DEST%\inc\mozilla\AcctIdl +mkdir: %_DEST%\inc\mozilla\addrbook +mkdir: %_DEST%\inc\mozilla\appcomps +mkdir: %_DEST%\inc\mozilla\appshell +mkdir: %_DEST%\inc\mozilla\appstartup +mkdir: %_DEST%\inc\mozilla\bookmarks +mkdir: %_DEST%\inc\mozilla\caps +mkdir: %_DEST%\inc\mozilla\chardet +mkdir: %_DEST%\inc\mozilla\chrome +mkdir: %_DEST%\inc\mozilla\content +mkdir: %_DEST%\inc\mozilla\content_xsl +mkdir: %_DEST%\inc\mozilla\content_xul +mkdir: %_DEST%\inc\mozilla\cookie +mkdir: %_DEST%\inc\mozilla\docshell +mkdir: %_DEST%\inc\mozilla\dom +mkdir: %_DEST%\inc\mozilla\editor +mkdir: %_DEST%\inc\mozilla\embed_base +mkdir: %_DEST%\inc\mozilla\expat +mkdir: %_DEST%\inc\mozilla\exthandler +mkdir: %_DEST%\inc\mozilla\find +mkdir: %_DEST%\inc\mozilla\gfx +mkdir: %_DEST%\inc\mozilla\gfx2 +mkdir: %_DEST%\inc\mozilla\gfxwin +mkdir: %_DEST%\inc\mozilla\gkplugin +mkdir: %_DEST%\inc\mozilla\helperAppDlg +mkdir: %_DEST%\inc\mozilla\history +mkdir: %_DEST%\inc\mozilla\htmlparser +mkdir: %_DEST%\inc\mozilla\imgicon +mkdir: %_DEST%\inc\mozilla\imglib2 +mkdir: %_DEST%\inc\mozilla\import +mkdir: %_DEST%\inc\mozilla\intl +mkdir: %_DEST%\inc\mozilla\intlcmpt +mkdir: %_DEST%\inc\mozilla\jar +mkdir: %_DEST%\inc\mozilla\java +mkdir: %_DEST%\inc\mozilla\jpeg +mkdir: %_DEST%\inc\mozilla\js +mkdir: %_DEST%\inc\mozilla\jsconsole +mkdir: %_DEST%\inc\mozilla\jsurl +mkdir: %_DEST%\inc\mozilla\layout +mkdir: %_DEST%\inc\mozilla\layout_xul +mkdir: %_DEST%\inc\mozilla\ldap +mkdir: %_DEST%\inc\mozilla\ldap\ldap +mkdir: %_DEST%\inc\mozilla\ldap-nspr +mkdir: %_DEST%\inc\mozilla\locale +mkdir: %_DEST%\inc\mozilla\lwbrk +mkdir: %_DEST%\inc\mozilla\mailnews +mkdir: %_DEST%\inc\mozilla\mime +mkdir: %_DEST%\inc\mozilla\mimeemitter +mkdir: %_DEST%\inc\mozilla\mimetype +mkdir: %_DEST%\inc\mozilla\mng +mkdir: %_DEST%\inc\mozilla\mork +mkdir: %_DEST%\inc\mozilla\mozbrwsr +mkdir: %_DEST%\inc\mozilla\mozldap +mkdir: %_DEST%\inc\mozilla\mozreg +mkdir: %_DEST%\inc\mozilla\mpfilelocprovider +mkdir: %_DEST%\inc\mozilla\msgbase +mkdir: %_DEST%\inc\mozilla\msgbaseutil +mkdir: %_DEST%\inc\mozilla\msgcompo +mkdir: %_DEST%\inc\mozilla\msgdb +mkdir: %_DEST%\inc\mozilla\msgimap +mkdir: %_DEST%\inc\mozilla\msglocal +mkdir: %_DEST%\inc\mozilla\msgnews +mkdir: %_DEST%\inc\mozilla\msgsearch +mkdir: %_DEST%\inc\mozilla\necko +mkdir: %_DEST%\inc\mozilla\necko2 +mkdir: %_DEST%\inc\mozilla\nkcache +mkdir: %_DEST%\inc\mozilla\nspr +mkdir: %_DEST%\inc\mozilla\nspr\obsolete +mkdir: %_DEST%\inc\mozilla\nspr\private +mkdir: %_DEST%\inc\mozilla\nsprefm +mkdir: %_DEST%\inc\mozilla\nss +mkdir: %_DEST%\inc\mozilla\oji +mkdir: %_DEST%\inc\mozilla\obsolete +mkdir: %_DEST%\inc\mozilla\plugin +mkdir: %_DEST%\inc\mozilla\png +mkdir: %_DEST%\inc\mozilla\pref +mkdir: %_DEST%\inc\mozilla\prefmigr +mkdir: %_DEST%\inc\mozilla\profile +mkdir: %_DEST%\inc\mozilla\rdf +mkdir: %_DEST%\inc\mozilla\rdfutil +mkdir: %_DEST%\inc\mozilla\regviewer +mkdir: %_DEST%\inc\mozilla\related +mkdir: %_DEST%\inc\mozilla\search +mkdir: %_DEST%\inc\mozilla\setuprsc +mkdir: %_DEST%\inc\mozilla\shistory +mkdir: %_DEST%\inc\mozilla\sidebar +mkdir: %_DEST%\inc\mozilla\signonviewer +mkdir: %_DEST%\inc\mozilla\string +mkdir: %_DEST%\inc\mozilla\timer +mkdir: %_DEST%\inc\mozilla\transformiix +mkdir: %_DEST%\inc\mozilla\txmgr +mkdir: %_DEST%\inc\mozilla\txtsvc +mkdir: %_DEST%\inc\mozilla\uconv +mkdir: %_DEST%\inc\mozilla\unicharutil +mkdir: %_DEST%\inc\mozilla\uninstall +mkdir: %_DEST%\inc\mozilla\uriloader +mkdir: %_DEST%\inc\mozilla\urlbarhistory +mkdir: %_DEST%\inc\mozilla\util +mkdir: %_DEST%\inc\mozilla\view +mkdir: %_DEST%\inc\mozilla\wallet +mkdir: %_DEST%\inc\mozilla\walleteditor +mkdir: %_DEST%\inc\mozilla\walletpreview +mkdir: %_DEST%\inc\mozilla\webBrowser_core +mkdir: %_DEST%\inc\mozilla\webshell +mkdir: %_DEST%\inc\mozilla\widget +mkdir: %_DEST%\inc\mozilla\windowwatcher +mkdir: %_DEST%\inc\mozilla\xml-rpc +mkdir: %_DEST%\inc\mozilla\xmlextras +mkdir: %_DEST%\inc\mozilla\xpcom +mkdir: %_DEST%\inc\mozilla\xpconnect +mkdir: %_DEST%\inc\mozilla\xpicleanup +mkdir: %_DEST%\inc\mozilla\xpinstall +mkdir: %_DEST%\inc\mozilla\xpnet +mkdir: %_DEST%\inc\mozilla\zlib +mkdir: %_DEST%\inc\mozilla\xpcom_obsolete + +..\%__SRC%\inc\*.h %_DEST%\inc\mozilla +..\%__SRC%\inc\absync\* %_DEST%\inc\mozilla\absync +..\%__SRC%\inc\accessibility\* %_DEST%\inc\mozilla\accessibility +..\%__SRC%\inc\AcctIdl\* %_DEST%\inc\mozilla\AcctIdl +..\%__SRC%\inc\addrbook\* %_DEST%\inc\mozilla\addrbook +..\%__SRC%\inc\appcomps\* %_DEST%\inc\mozilla\appcomps +..\%__SRC%\inc\appshell\* %_DEST%\inc\mozilla\appshell +..\%__SRC%\inc\appstartup\* %_DEST%\inc\mozilla\appstartup +..\%__SRC%\inc\bookmarks\* %_DEST%\inc\mozilla\bookmarks +..\%__SRC%\inc\caps\* %_DEST%\inc\mozilla\caps +..\%__SRC%\inc\chardet\* %_DEST%\inc\mozilla\chardet +..\%__SRC%\inc\chrome\* %_DEST%\inc\mozilla\chrome +..\%__SRC%\inc\content\* %_DEST%\inc\mozilla\content +..\%__SRC%\inc\content_xsl\* %_DEST%\inc\mozilla\content_xsl +..\%__SRC%\inc\content_xul\* %_DEST%\inc\mozilla\content_xul +..\%__SRC%\inc\cookie\* %_DEST%\inc\mozilla\cookie +..\%__SRC%\inc\docshell\* %_DEST%\inc\mozilla\docshell +..\%__SRC%\inc\dom\* %_DEST%\inc\mozilla\dom +..\%__SRC%\inc\editor\* %_DEST%\inc\mozilla\editor +..\%__SRC%\inc\embed_base\* %_DEST%\inc\mozilla\embed_base +..\%__SRC%\inc\expat\* %_DEST%\inc\mozilla\expat +..\%__SRC%\inc\exthandler\* %_DEST%\inc\mozilla\exthandler +..\%__SRC%\inc\find\* %_DEST%\inc\mozilla\find +..\%__SRC%\inc\gfx\* %_DEST%\inc\mozilla\gfx +..\%__SRC%\inc\gfx2\* %_DEST%\inc\mozilla\gfx2 +..\%__SRC%\inc\gfxwin\* %_DEST%\inc\mozilla\gfxwin +..\%__SRC%\inc\gkplugin\* %_DEST%\inc\mozilla\gkplugin +..\%__SRC%\inc\helperAppDlg\* %_DEST%\inc\mozilla\helperAppDlg +..\%__SRC%\inc\history\* %_DEST%\inc\mozilla\history +..\%__SRC%\inc\htmlparser\* %_DEST%\inc\mozilla\htmlparser +..\%__SRC%\inc\imgicon\* %_DEST%\inc\mozilla\imgicon +..\%__SRC%\inc\imglib2\* %_DEST%\inc\mozilla\imglib2 +..\%__SRC%\inc\import\* %_DEST%\inc\mozilla\import +..\%__SRC%\inc\intl\* %_DEST%\inc\mozilla\intl +..\%__SRC%\inc\intlcmpt\* %_DEST%\inc\mozilla\intlcmpt +..\%__SRC%\inc\jar\* %_DEST%\inc\mozilla\jar +..\%__SRC%\inc\java\* %_DEST%\inc\mozilla\java +..\%__SRC%\inc\jpeg\* %_DEST%\inc\mozilla\jpeg +..\%__SRC%\inc\js\* %_DEST%\inc\mozilla\js +..\%__SRC%\inc\jsconsole\* %_DEST%\inc\mozilla\jsconsole +..\%__SRC%\inc\jsurl\* %_DEST%\inc\mozilla\jsurl +..\%__SRC%\inc\layout\* %_DEST%\inc\mozilla\layout +..\%__SRC%\inc\layout_xul\* %_DEST%\inc\mozilla\layout_xul +..\%__SRC%\inc\ldap\* %_DEST%\inc\mozilla\ldap +..\%__SRC%\inc\ldap\ldap\* %_DEST%\inc\mozilla\ldap\ldap +..\%__SRC%\inc\ldap-nspr\* %_DEST%\inc\mozilla\ldap-nspr +..\%__SRC%\inc\locale\* %_DEST%\inc\mozilla\locale +..\%__SRC%\inc\lwbrk\* %_DEST%\inc\mozilla\lwbrk +..\%__SRC%\inc\mailnews\* %_DEST%\inc\mozilla\mailnews +..\%__SRC%\inc\mime\* %_DEST%\inc\mozilla\mime +..\%__SRC%\inc\mimeemitter\* %_DEST%\inc\mozilla\mimeemitter +..\%__SRC%\inc\mimetype\* %_DEST%\inc\mozilla\mimetype +..\%__SRC%\inc\mng\* %_DEST%\inc\mozilla\mng +..\%__SRC%\inc\mork\* %_DEST%\inc\mozilla\mork +..\%__SRC%\inc\mozbrwsr\* %_DEST%\inc\mozilla\mozbrwsr +..\%__SRC%\inc\mozldap\* %_DEST%\inc\mozilla\mozldap +..\%__SRC%\inc\mozreg\* %_DEST%\inc\mozilla\mozreg +..\%__SRC%\inc\mpfilelocprovider\* %_DEST%\inc\mozilla\mpfilelocprovider +..\%__SRC%\inc\msgbase\* %_DEST%\inc\mozilla\msgbase +..\%__SRC%\inc\msgbaseutil\* %_DEST%\inc\mozilla\msgbaseutil +..\%__SRC%\inc\msgcompo\* %_DEST%\inc\mozilla\msgcompo +..\%__SRC%\inc\msgdb\* %_DEST%\inc\mozilla\msgdb +..\%__SRC%\inc\msgimap\* %_DEST%\inc\mozilla\msgimap +..\%__SRC%\inc\msglocal\* %_DEST%\inc\mozilla\msglocal +..\%__SRC%\inc\msgnews\* %_DEST%\inc\mozilla\msgnews +..\%__SRC%\inc\msgsearch\* %_DEST%\inc\mozilla\msgsearch +..\%__SRC%\inc\necko\* %_DEST%\inc\mozilla\necko +..\%__SRC%\inc\necko2\* %_DEST%\inc\mozilla\necko2 +..\%__SRC%\inc\nkcache\* %_DEST%\inc\mozilla\nkcache +..\%__SRC%\inc\nspr\* %_DEST%\inc\mozilla\nspr +..\%__SRC%\inc\nspr\obsolete\* %_DEST%\inc\mozilla\nspr\obsolete +..\%__SRC%\inc\nspr\private\* %_DEST%\inc\mozilla\nspr\private +..\%__SRC%\inc\nsprefm\* %_DEST%\inc\mozilla\nsprefm +..\%__SRC%\inc\nss\* %_DEST%\inc\mozilla\nss +..\%__SRC%\inc\oji\* %_DEST%\inc\mozilla\oji +..\%__SRC%\inc\obsolete\* %_DEST%\inc\mozilla\obsolete +..\%__SRC%\inc\plugin\* %_DEST%\inc\mozilla\plugin +..\%__SRC%\inc\png\* %_DEST%\inc\mozilla\png +..\%__SRC%\inc\pref\* %_DEST%\inc\mozilla\pref +..\%__SRC%\inc\prefmigr\* %_DEST%\inc\mozilla\prefmigr +..\%__SRC%\inc\profile\* %_DEST%\inc\mozilla\profile +..\%__SRC%\inc\rdf\* %_DEST%\inc\mozilla\rdf +..\%__SRC%\inc\rdfutil\* %_DEST%\inc\mozilla\rdfutil +..\%__SRC%\inc\regviewer\* %_DEST%\inc\mozilla\regviewer +..\%__SRC%\inc\related\* %_DEST%\inc\mozilla\related +..\%__SRC%\inc\search\* %_DEST%\inc\mozilla\search +..\%__SRC%\inc\setuprsc\* %_DEST%\inc\mozilla\setuprsc +..\%__SRC%\inc\shistory\* %_DEST%\inc\mozilla\shistory +..\%__SRC%\inc\sidebar\* %_DEST%\inc\mozilla\sidebar +..\%__SRC%\inc\signonviewer\* %_DEST%\inc\mozilla\signonviewer +..\%__SRC%\inc\string\* %_DEST%\inc\mozilla\string +..\%__SRC%\inc\timer\* %_DEST%\inc\mozilla\timer +..\%__SRC%\inc\transformiix\* %_DEST%\inc\mozilla\transformiix +..\%__SRC%\inc\txmgr\* %_DEST%\inc\mozilla\txmgr +..\%__SRC%\inc\txtsvc\* %_DEST%\inc\mozilla\txtsvc +..\%__SRC%\inc\uconv\* %_DEST%\inc\mozilla\uconv +..\%__SRC%\inc\unicharutil\* %_DEST%\inc\mozilla\unicharutil +..\%__SRC%\inc\uninstall\* %_DEST%\inc\mozilla\uninstall +..\%__SRC%\inc\uriloader\* %_DEST%\inc\mozilla\uriloader +..\%__SRC%\inc\urlbarhistory\* %_DEST%\inc\mozilla\urlbarhistory +..\%__SRC%\inc\util\* %_DEST%\inc\mozilla\util +..\%__SRC%\inc\view\* %_DEST%\inc\mozilla\view +..\%__SRC%\inc\wallet\* %_DEST%\inc\mozilla\wallet +..\%__SRC%\inc\walleteditor\* %_DEST%\inc\mozilla\walleteditor +..\%__SRC%\inc\walletpreview\* %_DEST%\inc\mozilla\walletpreview +..\%__SRC%\inc\webBrowser_core\* %_DEST%\inc\mozilla\webBrowser_core +..\%__SRC%\inc\webshell\* %_DEST%\inc\mozilla\webshell +..\%__SRC%\inc\widget\* %_DEST%\inc\mozilla\widget +..\%__SRC%\inc\windowwatcher\* %_DEST%\inc\mozilla\windowwatcher +..\%__SRC%\inc\xml-rpc\* %_DEST%\inc\mozilla\xml-rpc +..\%__SRC%\inc\xmlextras\* %_DEST%\inc\mozilla\xmlextras +..\%__SRC%\inc\xpcom\* %_DEST%\inc\mozilla\xpcom +..\%__SRC%\inc\xpconnect\* %_DEST%\inc\mozilla\xpconnect +..\%__SRC%\inc\xpicleanup\* %_DEST%\inc\mozilla\xpicleanup +..\%__SRC%\inc\xpinstall\* %_DEST%\inc\mozilla\xpinstall +..\%__SRC%\inc\xpnet\* %_DEST%\inc\mozilla\xpnet +..\%__SRC%\inc\zlib\* %_DEST%\inc\mozilla\zlib +..\%__SRC%\inc\xpcom_obsolete\* %_DEST%\inc\mozilla\xpcom_obsolete + +..\%__SRC%\lib\libldap50.* %_DEST%\lib +..\%__SRC%\lib\libmozjs.* %_DEST%\lib +..\%__SRC%\lib\libmozz.* %_DEST%\lib +..\%__SRC%\lib\libmsgbaseutil.* %_DEST%\lib +..\%__SRC%\lib\libnssckbi.* %_DEST%\lib +..\%__SRC%\lib\libnssdbm3.* %_DEST%\lib +..\%__SRC%\lib\libnssutil3.* %_DEST%\lib +..\%__SRC%\lib\libprldap50.* %_DEST%\lib +..\%__SRC%\lib\libxpcom.* %_DEST%\lib +..\%__SRC%\lib\libxpcom_compat.* %_DEST%\lib +..\%__SRC%\lib\libxpcom_core.* %_DEST%\lib +..\%__SRC%\lib\*.a %_DEST%\lib +..\%__SRC%\lib\*.lib %_DEST%\lib + +mkdir: %_DEST%\lib\sqlite +..\%__SRC%\lib\libsqlite3.* %_DEST%\lib\sqlite + +..\%__SRC%\bin\*.zip %_DEST%\bin diff --git a/moz/seamonkey-source-1.1.14.patch b/moz/seamonkey-source-1.1.14.patch new file mode 100644 index 000000000000..db62e8b47aa0 --- /dev/null +++ b/moz/seamonkey-source-1.1.14.patch @@ -0,0 +1,6354 @@ +--- misc/mozilla/build/autoconf/mozconfig-find 2007-02-16 03:19:06.000000000 +0100 ++++ misc/build/mozilla/build/autoconf/mozconfig-find 2008-08-19 10:12:04.000000000 +0200 +@@ -51,10 +51,7 @@ + "$topsrcdir/.mozconfig" \ + "$topsrcdir/mozconfig" \ + "$topsrcdir/mozconfig.sh" \ +- "$topsrcdir/myconfig.sh" \ +- "$HOME/.mozconfig" \ +- "$HOME/.mozconfig.sh" \ +- "$HOME/.mozmyconfig.sh" ++ "$topsrcdir/myconfig.sh" + do + if test -f "$_config"; then + echo "$_config"; +--- misc/mozilla/build/cygwin-wrapper 2004-08-19 01:18:55.000000000 +0200 ++++ misc/build/mozilla/build/cygwin-wrapper 2008-08-14 16:22:21.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + # + # Stupid wrapper to avoid win32 dospath/cygdrive issues + # Try not to spawn programs from within this file. If the stuff in here looks royally +@@ -57,12 +57,36 @@ + i=-I${mountpoint}/${driveletter}/${pathname} + fi + else +- eval 'leader=${i%%'${mountpoint}'/[a-zA-Z]/*}' +- if ! test "${leader}" = "${i}"; then +- eval 'pathname=${i#'${leader}${mountpoint}'/[a-zA-Z]/}' +- eval 'no_mountpoint=${i#'${leader}${mountpoint}'/}' +- driveletter=${no_mountpoint%%/*} +- i=${leader}${driveletter}:/${pathname} ++ # The original version missed mounted paths, the new version below ++ # doesn't transform /para as this is most likely a parameter. ++ eval 'notinpath=${i%%'${mountpoint}'/[a-zA-Z]/*}' ++ if ! test "$notinpath" = "$i"; then ++ # found $mountpoint ++ eval 'restpath=${i#'${notinpath}${mountpoint}'/[a-zA-Z]/}' ++ eval 'withdrive=${i#'${notinpath}${mountpoint}'/}' ++ driveletter=${withdrive%%/*} ++ i=${notinpath}${driveletter}:/${restpath} ++ else ++ # check for potential path. Precheck using shell methods ++ doconvert="" ++ # Shortcut -X<path> when path does not begin with '/' ++ noswitch=${i#-[a-zA-Z]} ++ if test "$noswitch" != "$i"; then ++ test "${noswitch#/}" != "$noswitch" && doconvert="1" ++ fi ++ # Precheck for possible path. Consider only absolute paths that contain at least ++ # a second / to prevent converting of /abc parameters. ++ test -z "$doconvert" -a "${i#/[a-zA-Z0-9_.-]*/}" != "$i" && doconvert="1" ++ if test -n "$doconvert"; then ++ # Can be a path. If forking grep would be faster or we could require bash 3 ++ # this regexp would be all that's needed to find pathnames that need converting ++ pathname=`echo $i | grep -oE '^(-[a-zA-Z])?/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_./-]+$'` ++ eval 'notinpath=${i%'${pathname}'}' ++ if test "$notinpath" != "$i" -a "$pathname" != "${pathname#/}"; then ++ pathname=`cygpath -am "$pathname"` ++ i=${notinpath}${pathname} ++ fi ++ fi + fi + fi + fi +--- misc/mozilla/config/Makefile.in 2006-12-22 14:50:41.000000000 +0100 ++++ misc/build/mozilla/config/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -166,7 +166,7 @@ + + ifdef MOZ_ENABLE_GTK2 + GLIB_CFLAGS = $(MOZ_GTK2_CFLAGS) +- GLIB_LIBS = $(MOZ_GTK2_LIBS) ++ GLIB_LIBS = $(filter -lglib% -L%,$(MOZ_GTK2_LIBS)) + endif + + build_number: FORCE +--- misc/mozilla/config/autoconf.mk.in 2006-09-14 20:07:03.000000000 +0200 ++++ misc/build/mozilla/config/autoconf.mk.in 2008-11-07 16:08:52.937500000 +0100 +@@ -543,6 +543,7 @@ + MOZ_TOOLS_DIR = @MOZ_TOOLS_DIR@ + MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@ + MOZ_QUANTIFY = @MOZ_QUANTIFY@ ++MSMANIFEST_TOOL = @MSMANIFEST_TOOL@ + + #python options + PYTHON = @MOZ_PYTHON@ +--- misc/mozilla/config/config.mk 2008-01-29 20:30:22.000000000 +0100 ++++ misc/build/mozilla/config/config.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -758,6 +758,23 @@ + endif + + # ++# Shared library RUNPATH linker option(s) ++# ++ifeq ($(OS_ARCH),Linux) ++EXTRA_DSO_LDOPTS += -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib ++ifdef IS_COMPONENT ++EXTRA_DSO_LDOPTS += -Wl,-rpath,\$$ORIGIN/..:\$$ORIGIN/../../ure-link/lib ++endif # IS_COMPONENT ++endif # Linux ++ ++ifeq ($(OS_ARCH),SunOS) ++EXTRA_DSO_LDOPTS += -R '$$ORIGIN' ++ifdef IS_COMPONENT ++EXTRA_DSO_LDOPTS += -R '$$ORIGIN/..' ++endif # IS_COMPONENT ++endif # SunOS ++ ++# + # Include any personal overrides the user might think are needed. + # + -include $(MY_CONFIG) +--- misc/mozilla/config/rules.mk 2008-01-29 20:30:22.000000000 +0100 ++++ misc/build/mozilla/config/rules.mk 2009-02-16 14:05:23.000000000 +0100 +@@ -529,8 +529,9 @@ + ifeq ($(OS_ARCH),WINNT) + ifdef GNU_CC + ifndef IS_COMPONENT +-DSO_LDOPTS += -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) ++DSO_LDOPTS += -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) + endif ++DSO_LDOPTS += -Wl,--enable-runtime-pseudo-reloc -Wl,-Map -Wl,$(LIB_PREFIX)$(LIBRARY_NAME).map + endif + endif + +@@ -811,6 +810,12 @@ + + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(PROGOBJS) $(RESFILE) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(BIN_FLAGS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(EXE_DEF_FILE) +@@ -843,6 +848,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH)) + $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + $(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) + endif +@@ -866,6 +877,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -nologo -out:$@ -pdb:$(PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) $(WRAP_MALLOC_CFLAGS) $(CXXFLAGS) -o $@ $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(BIN_FLAGS) +@@ -1019,6 +1036,14 @@ + endif # SHARED_LIBRARY_LIBS + endif # NO_LD_ARCHIVE_FLAGS + $(MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(LOBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) ++ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool ++endif # WINNT && !GCC + @rm -f foodummyfilefoo $(SUB_SHLOBJS) $(DELETE_AFTER_LINK) + else # os2 vacpp + $(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) +@@ -1043,7 +1070,7 @@ + if test -d $(@D); then \ + echo "Building deps for $<"; \ + touch $(_MDDEPFILE) && \ +- $(MKDEPEND) -o'.$(OBJ_SUFFIX)' -f$(_MDDEPFILE) $(DEFINES) $(ACDEFINES) $(INCLUDES) $< >/dev/null 2>&1 && \ ++ $(MKDEPEND) -o'.$(OBJ_SUFFIX)' -f$(_MDDEPFILE) $(DEFINES) $(ACDEFINES) $(filter-out -I/so/env% ,$(INCLUDES)) $< >/dev/null 2>&1 && \ + mv $(_MDDEPFILE) $(_MDDEPFILE).old && \ + cat $(_MDDEPFILE).old | sed -e "s|^$(srcdir)/||" -e "s|^$(win_srcdir)/||" > $(_MDDEPFILE) && rm -f $(_MDDEPFILE).old ; \ + fi +@@ -1053,7 +1080,7 @@ + if test -d $(@D); then \ + echo "Building deps for $<"; \ + touch $(_MDDEPFILE) && \ +- $(MKDEPEND) -o'.$(OBJ_SUFFIX)' -f$(_MDDEPFILE) $(DEFINES) $(ACDEFINES) $(INCLUDES) $< >/dev/null 2>&1 && \ ++ $(MKDEPEND) -o'.$(OBJ_SUFFIX)' -f$(_MDDEPFILE) $(DEFINES) $(ACDEFINES) $(filter-out -I/so/env% ,$(INCLUDES)) $< >/dev/null 2>&1 && \ + mv $(_MDDEPFILE) $(_MDDEPFILE).old && \ + cat $(_MDDEPFILE).old | sed -e "s|^$(<D)/||g" > $(_MDDEPFILE) && rm -f $(_MDDEPFILE).old ; \ + fi +@@ -1696,14 +1724,14 @@ + define MAKE_DEPS_NOAUTO + set -e ; \ + touch $@ && \ +- $(MKDEPEND) -w1024 -o'.$(OBJ_SUFFIX)' -f$@ $(DEFINES) $(ACDEFINES) $(INCLUDES) $(srcdir)/$(<F) >/dev/null 2>&1 && \ ++ $(MKDEPEND) -w1024 -o'.$(OBJ_SUFFIX)' -f$@ $(DEFINES) $(ACDEFINES) $(filter-out -I/so/env% ,$(INCLUDES)) $(srcdir)/$(<F) >/dev/null 2>&1 && \ + mv $@ $@.old && cat $@.old | sed "s|^$(srcdir)/||g" > $@ && rm -f $@.old + endef + else + define MAKE_DEPS_NOAUTO + set -e ; \ + touch $@ && \ +- $(MKDEPEND) -w1024 -o'.$(OBJ_SUFFIX)' -f$@ $(DEFINES) $(ACDEFINES) $(INCLUDES) $< >/dev/null 2>&1 && \ ++ $(MKDEPEND) -w1024 -o'.$(OBJ_SUFFIX)' -f$@ $(DEFINES) $(ACDEFINES) $(filter-out -I/so/env% ,$(INCLUDES)) $< >/dev/null 2>&1 && \ + mv $@ $@.old && cat $@.old | sed "s|^$(<D)/||g" > $@ && rm -f $@.old + endef + endif # WINNT +--- misc/mozilla/configure 2008-10-30 23:05:30.000000000 +0100 ++++ misc/build/mozilla/configure 2009-02-12 15:20:18.597579000 +0100 +@@ -1068,6 +1068,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + MISSING_X= + for ac_prog in gawk mawk nawk awk + do +@@ -3022,9 +3024,26 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; } + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ echo "configure: warning: Unknown version of the Microsoft (R) Manifest Tool." 1>&2 ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ { echo "Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; } ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +@@ -3422,6 +3441,8 @@ + ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' + cross_compiling=$ac_cv_prog_cc_cross + fi ++else ++ ac_cv_prog_CXXCPP="$CXXCPP" + fi + CXXCPP="$ac_cv_prog_CXXCPP" + echo "$ac_t""$CXXCPP" 1>&6 +@@ -5726,6 +5747,7 @@ + if test "`echo ${srcdir} | grep -c ^/ 2>/dev/null`" = 0; then + _pwd=`pwd` + CYGWIN_WRAPPER="${_pwd}/${srcdir}/build/cygwin-wrapper" ++ CYGWIN_WRAPPER=`cygpath -u $CYGWIN_WRAPPER` + fi + if test "`${PERL} -v | grep -c cygwin 2>/dev/null`" = 0; then + AS_PERL=1 +@@ -6036,7 +6058,7 @@ + CXXFLAGS="$CXXFLAGS -fpascal-strings -no-cpp-precomp -fno-common" + DLL_SUFFIX=".dylib" + DSO_LDOPTS='' +- STRIP="$STRIP -x -S" ++ STRIP="$STRIP -X -S" # MACOSX 10.5 strip -x sometimes fails + _PLATFORM_DEFAULT_TOOLKIT='mac' + MOZ_ENABLE_POSTSCRIPT= + TARGET_NSPR_MDCPUCFG='\"md/_darwin.cfg\"' +@@ -6075,7 +6097,7 @@ + ;; + + *-freebsd*) +- if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` != "elf"; then ++ if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then + DLL_SUFFIX=".so.1.0" + DSO_LDOPTS="-shared" + fi +@@ -6455,12 +6477,12 @@ + + + case "$host" in +- *-mingw*) +- CYGPATH_W=echo ++ *-cygwin*|*-mingw*) ++ CYGPATH_W="cygpath -u" + CYGPATH_S=cat +- MOZ_BUILD_ROOT=`cd $MOZ_BUILD_ROOT && pwd -W` ++ MOZ_BUILD_ROOT=`$CYGPATH_W $MOZ_BUILD_ROOT | $CYGPATH_S` + ;; +- *-cygwin*|*-msvc*|*-mks*) ++ *-msvc*|*-mks*) + CYGPATH_W="cygpath -a -w" + CYGPATH_S="sed -e s|\\\\|/|g" + MOZ_BUILD_ROOT=`$CYGPATH_W $MOZ_BUILD_ROOT | $CYGPATH_S` +@@ -6718,7 +6740,7 @@ + MOZ_USER_DIR="Mozilla" + + if test "$MOZTOOLS"; then +- MOZ_TOOLS_DIR=`echo $MOZTOOLS | sed -e 's|\\\\|/|g'` ++ MOZ_TOOLS_DIR=`echo $MOZTOOLS` + else + { echo "configure: error: MOZTOOLS is not set" 1>&2; exit 1; } + fi +@@ -8614,6 +8636,8 @@ + case $target in + *-hpux11.*) + ;; ++*-freebsd*) ++ ;; + *) + echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6 + echo "configure:8620: checking for gethostbyname_r in -lc_r" >&5 +@@ -19233,7 +19257,8 @@ + MOZ_CAIRO_LIBS="-lmozcairo -lmozlibpixman $CAIRO_FT_LIBS" + + if test "$MOZ_X11"; then +- MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $XLDFLAGS -lXrender $XLIBS -lfontconfig -lfreetype" ++# MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $XLDFLAGS -lXrender $XLIBS -lfontconfig -lfreetype" ++ MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS $XLDFLAGS $XLIBS -lfontconfig -lfreetype" + fi + if test "$MOZ_WIDGET_TOOLKIT" = "windows"; then + MOZ_CAIRO_LIBS="$MOZ_CAIRO_LIBS -lgdi32" +@@ -20076,8 +20101,12 @@ + WIN_TOP_SRC=`cd $srcdir; pwd -W` + ;; + cygwin*|msvc*|mks*) +- HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC" +- HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX" ++# Don't add the wrapper for the HOST_* versions as they contain an ++# unexpanded $CC and therfore wil get the wrapper below. ++ if test -n "$GNU_CC"; then ++ HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC" ++ HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX" ++ fi + CC="\$(CYGWIN_WRAPPER) $CC" + CXX="\$(CYGWIN_WRAPPER) $CXX" + CPP="\$(CYGWIN_WRAPPER) $CPP" +--- misc/mozilla/configure.in 2008-10-30 23:05:31.000000000 +0100 ++++ misc/build/mozilla/configure.in 2009-02-05 20:12:45.456777753 +0100 +@@ -126,6 +126,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + dnl Set various checks + dnl ======================================================== + MISSING_X= +@@ -425,9 +427,26 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.]) + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ AC_MSG_WARN([Unknown version of the Microsoft (R) Manifest Tool.]) ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ AC_MSG_ERROR([Microsoft (R) Manifest Tool must be in your \$PATH.]) ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +@@ -1530,7 +1549,7 @@ + CXXFLAGS="$CXXFLAGS -fpascal-strings -no-cpp-precomp -fno-common" + DLL_SUFFIX=".dylib" + DSO_LDOPTS='' +- STRIP="$STRIP -x -S" ++ STRIP="$STRIP -X -S" # MACOSX 10.5 strip -x sometimes fails + _PLATFORM_DEFAULT_TOOLKIT='mac' + MOZ_ENABLE_POSTSCRIPT= + TARGET_NSPR_MDCPUCFG='\"md/_darwin.cfg\"' +@@ -1552,7 +1571,7 @@ + ;; + + *-freebsd*) +- if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` != "elf"; then ++ if test `test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` != "elf"; then + DLL_SUFFIX=".so.1.0" + DSO_LDOPTS="-shared" + fi +@@ -1853,10 +1872,10 @@ + + dnl MinGW/MSYS doesn't provide or need cygpath + case "$host" in +- *-mingw*) +- CYGPATH_W=echo ++ *-cygwin*|*-mingw*) ++ CYGPATH_W="cygpath -u" + CYGPATH_S=cat +- MOZ_BUILD_ROOT=`cd $MOZ_BUILD_ROOT && pwd -W` ++ MOZ_BUILD_ROOT=`$CYGPATH_W $MOZ_BUILD_ROOT | $CYGPATH_S` + ;; + *-cygwin*|*-msvc*|*-mks*) + CYGPATH_W="cygpath -a -w" +@@ -2749,6 +2768,8 @@ + case $target in + *-hpux11.*) + ;; ++*-freebsd*) ++ ;; + *) + AC_CHECK_LIB(c_r, gethostbyname_r) + ;; +@@ -7321,6 +7342,7 @@ + AC_SUBST(USE_N32) + AC_SUBST(CC_VERSION) + AC_SUBST(CXX_VERSION) ++AC_SUBST(MSMANIFEST_TOOL) + + if test "$USING_HCC"; then + CC='${topsrcdir}/build/hcc' +@@ -7416,8 +7438,12 @@ + WIN_TOP_SRC=`cd $srcdir; pwd -W` + ;; + cygwin*|msvc*|mks*) +- HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC" +- HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX" ++# Don't add the wrapper for the HOST_* versions as they contain an ++# unexpanded $CC and therfore wil get the wrapper below. ++ if test -n "$GNU_CC"; then ++ HOST_CC="\$(CYGWIN_WRAPPER) $HOST_CC" ++ HOST_CXX="\$(CYGWIN_WRAPPER) $HOST_CXX" ++ fi + CC="\$(CYGWIN_WRAPPER) $CC" + CXX="\$(CYGWIN_WRAPPER) $CXX" + CPP="\$(CYGWIN_WRAPPER) $CPP" +--- misc/mozilla/directory/c-sdk/build.mk 2006-02-03 15:44:29.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/build.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -384,7 +384,7 @@ + ifdef NS_USE_GCC + LINK_EXE = $(CC) -o $@ $(LDFLAGS) $(LCFLAGS) $(DEPLIBS) $(OBJS) $(EXTRA_LIBS) $(PLATFORMLIBS) + LINK_LIB = $(AR) cr $@ $(OBJS) +-LINK_DLL = $(CC) -shared -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(@:.$(DLL_SUFFIX)=.$(LIB_SUFFIX)) $(LLFLAGS) $(DLL_LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS) $(EXTRA_DLL_LIBS) ++LINK_DLL = $(CC) -shared -Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(LIB_PREFIX)$(@:.$(DLL_SUFFIX)=.$(LIB_SUFFIX)) $(LLFLAGS) $(DLL_LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS) $(EXTRA_DLL_LIBS) + else + DEBUG_LINK_OPT=-DEBUG + ifeq ($(BUILD_OPT), 1) +--- misc/mozilla/directory/c-sdk/config/FreeBSD.mk 2006-02-03 15:41:11.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/config/FreeBSD.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -70,7 +70,7 @@ + + ARCH = freebsd + +-MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo aout) ++MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf) + + ifeq ($(MOZ_OBJFORMAT),elf) + DLL_SUFFIX = so +--- misc/mozilla/directory/c-sdk/config/autoconf.mk.in 2006-02-23 00:58:25.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/config/autoconf.mk.in 2008-08-14 16:22:21.000000000 +0200 +@@ -25,6 +25,7 @@ + LIB_SUFFIX = @LIB_SUFFIX@ + LIB_PREFIX = @LIB_PREFIX@ + DLL_SUFFIX = @DLL_SUFFIX@ ++DLL_PREFIX = @DLL_PREFIX@ + ASM_SUFFIX = @ASM_SUFFIX@ + PROG_SUFFIX = @PROG_SUFFIX@ + MOD_NAME = @NSPR_MODNAME@ +--- misc/mozilla/directory/c-sdk/config/cygwin-wrapper 2004-08-19 01:18:55.000000000 +0200 ++++ misc/build/mozilla/directory/c-sdk/config/cygwin-wrapper 2008-08-14 16:22:21.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + # + # Stupid wrapper to avoid win32 dospath/cygdrive issues + # Try not to spawn programs from within this file. If the stuff in here looks royally +--- misc/mozilla/directory/c-sdk/configure 2006-02-23 01:58:13.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/configure 2008-08-14 16:22:21.000000000 +0200 +@@ -2738,6 +2738,7 @@ + LIB_SUFFIX=a + LIB_PREFIX=lib + DLL_SUFFIX=so ++DLL_PREFIX=lib + ASM_SUFFIX=s + MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + PR_MD_ASFILES= +@@ -3444,7 +3445,7 @@ + EOF + + CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" +- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` + if test "$MOZ_OBJFORMAT" = "elf"; then + DLL_SUFFIX=so + else +@@ -3811,6 +3812,7 @@ + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + DSO_CFLAGS=-fPIC + DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-rpath,'$\$ORIGIN:$\$ORIGIN/../ure-link/lib'" + OS_LIBS="$OS_LIBS -lc" + _OPTIMIZE_FLAGS=-O2 + _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that +@@ -3880,7 +3882,8 @@ + CC="$CC -mno-cygwin" + CXX="$CXX -mno-cygwin" + DLL_SUFFIX=dll +- MKSHLIB='$(CC) -shared -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) -o $@' ++ DLL_PREFIX= ++ MKSHLIB='$(CC) -shared -Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) -o $@' + # Use temp file for windres (bug 213281) + RC="$WINDRES -O coff --use-temp-file" + else +@@ -3897,6 +3900,7 @@ + LIB_SUFFIX=lib + LIB_PREFIX= + DLL_SUFFIX=dll ++ DLL_PREFIX= + + CFLAGS="$CFLAGS -W3 -nologo -GF -Gy" + DLLFLAGS='-OUT:"$@"' +@@ -4293,6 +4297,7 @@ + NSINSTALL=nsinstall + LIB_PREFIX= + LIB_SUFFIX=lib ++ DLL_PREFIX= + DLL_SUFFIX=dll + DLLTOOL='' + RC=rc.exe +@@ -4660,6 +4665,7 @@ + LD=/usr/ccs/bin/ld + RANLIB=/usr/ccs/bin/ranlib + DSO_LDOPTS='-G -h $(notdir $@)' ++ DSO_LDOPTS="$DSO_LDOPTS -R '$\$ORIGIN'" + if test -n "$GNU_CC"; then + DSO_CFLAGS=-fPIC + else +@@ -5844,6 +5850,7 @@ + s%@LIB_SUFFIX@%$LIB_SUFFIX%g + s%@LIB_PREFIX@%$LIB_PREFIX%g + s%@DLL_SUFFIX@%$DLL_SUFFIX%g ++s%@DLL_PREFIX@%$DLL_PREFIX%g + s%@ASM_SUFFIX@%$ASM_SUFFIX%g + s%@PROG_SUFFIX@%$PROG_SUFFIX%g + s%@MKSHLIB@%$MKSHLIB%g +--- misc/mozilla/directory/c-sdk/configure.in 2007-07-15 16:41:07.000000000 +0200 ++++ misc/build/mozilla/directory/c-sdk/configure.in 2008-08-14 16:22:21.000000000 +0200 +@@ -549,6 +549,7 @@ + LIB_SUFFIX=a + LIB_PREFIX=lib + DLL_SUFFIX=so ++DLL_PREFIX=lib + ASM_SUFFIX=s + MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + PR_MD_ASFILES= +@@ -1037,7 +1038,7 @@ + AC_DEFINE(FREEBSD) + AC_DEFINE(HAVE_BSD_FLOCK) + CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" +- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` + if test "$MOZ_OBJFORMAT" = "elf"; then + DLL_SUFFIX=so + else +@@ -1285,6 +1286,7 @@ + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + DSO_CFLAGS=-fPIC + DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ DSO_LDOPTS="$DSO_LDOPTS -Wl,-rpath,'$\$ORIGIN:$\$ORIGIN/../ure-link/lib'" + OS_LIBS="$OS_LIBS -lc" + _OPTIMIZE_FLAGS=-O2 + _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that +@@ -1336,6 +1338,8 @@ + CC="$CC -mno-cygwin" + CXX="$CXX -mno-cygwin" + DLL_SUFFIX=dll ++ DLL_SUFFIX=dll ++ DLL_PREFIX= + MKSHLIB='$(CC) -shared -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) -o $@' + # Use temp file for windres (bug 213281) + RC="$WINDRES -O coff --use-temp-file" +@@ -1353,6 +1357,7 @@ + LIB_SUFFIX=lib + LIB_PREFIX= + DLL_SUFFIX=dll ++ DLL_PREFIX= + + CFLAGS="$CFLAGS -W3 -nologo -GF -Gy" + DLLFLAGS='-OUT:"$@"' +@@ -1820,6 +1825,7 @@ + LD=/usr/ccs/bin/ld + RANLIB=/usr/ccs/bin/ranlib + DSO_LDOPTS='-G -h $(notdir $@)' ++ DSO_LDOPTS="$DSO_LDOPTS -R '$\$ORIGIN'" + if test -n "$GNU_CC"; then + DSO_CFLAGS=-fPIC + else +@@ -2410,6 +2416,7 @@ + AC_SUBST(LIB_SUFFIX) + AC_SUBST(LIB_PREFIX) + AC_SUBST(DLL_SUFFIX) ++AC_SUBST(DLL_PREFIX) + AC_SUBST(ASM_SUFFIX) + AC_SUBST(PROG_SUFFIX) + AC_SUBST(MKSHLIB) +--- misc/mozilla/directory/c-sdk/ldap/include/Makefile.in 2006-02-03 15:44:33.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/ldap/include/Makefile.in 2008-11-02 21:55:34.929250000 +0100 +@@ -85,6 +85,11 @@ + + ########################################################################### + ++ifeq ($(TERM),cygwin) ++INCLUDEDIR:=$(shell cygpath -u $(INCLUDEDIR)) ++GENHEADERS:=$(shell cygpath -u $(GENHEADERS)) ++endif ++ + all export:: $(INCLUDEDIR) $(GENHEADERS) + $(NSINSTALL) -D $(PRIVATEINCDIR) + $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR) +--- misc/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in 2006-02-03 15:44:42.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -109,7 +109,7 @@ + HDIR = $(topsrcdir)/ldap/include + + LIBLDAP = $(addprefix $(OBJDIR_NAME)/, $(LIB_PREFIX)$(LDAP_LIBNAME).$(LIB_SUFFIX)) +-DLLLDAP = $(addprefix $(OBJDIR_NAME)/, $(LIB_PREFIX)$(LDAP_LIBNAME).$(DLL_SUFFIX)) ++DLLLDAP = $(addprefix $(OBJDIR_NAME)/, $(DLL_PREFIX)$(LDAP_LIBNAME).$(DLL_SUFFIX)) + + INSTALLDIR = $(DIST)/$(OBJDIR_NAME) + +@@ -320,6 +320,10 @@ + -$(RM) $(SO_FILES_TO_REMOVE) + endif + $(LINK_DLL) $(LDAP_EXPORT_FLAGS) $(EXTRA_LIBS) ++ if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ ++ rm -f $@.manifest; \ ++ fi + + veryclean:: clean + +--- misc/mozilla/directory/c-sdk/ldap/libraries/libprldap/Makefile.in 2006-02-03 15:44:49.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/ldap/libraries/libprldap/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -62,7 +62,7 @@ + LIBPRLDAP = + endif + DLLPRLDAP = $(addprefix $(OBJDIR_NAME)/, \ +- $(LIB_PREFIX)$(PRLDAP_LIBNAME).$(DLL_SUFFIX)) ++ $(DLL_PREFIX)$(PRLDAP_LIBNAME).$(DLL_SUFFIX)) + + INSTALLDIR = $(DIST)/$(OBJDIR_NAME) + +--- misc/mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile 2004-08-26 01:02:30.000000000 +0200 ++++ misc/build/mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile 2008-08-14 16:22:21.000000000 +0200 +@@ -41,7 +41,7 @@ + HDIR = $(topsrcdir)/ldap/include + + LIBSSLDAP = $(addprefix $(SSLOBJDEST)/, $(LIB_PREFIX)$(SSLDAP_LIBNAME).$(LIB_SUFFIX)) +-DLLSSLDAP = $(addprefix $(SSLOBJDEST)/, $(LIB_PREFIX)$(SSLDAP_LIBNAME).$(DLL_SUFFIX)) ++DLLSSLDAP = $(addprefix $(SSLOBJDEST)/, $(DLL_PREFIX)$(SSLDAP_LIBNAME).$(DLL_SUFFIX)) + + INSTALLDIR = $(DIST)/$(OBJDIR_NAME) + +@@ -76,7 +92,7 @@ + + # variable definitions for exported symbols + ifeq ($(OS_ARCH), WINNT) +- SSLDAP_EXPORT_DEFS= $(srcdir)/../msdos/winsock/nsldapssl32.def ++ SSLDAP_EXPORT_DEFS= $(win_srcdir)/../msdos/winsock/nsldapssl32.def + else + SSLDAP_EXPORT_DEFS= $(SSLOBJDEST)/libldap_ssl.exp + endif +--- misc/mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile.in 2006-02-03 15:44:49.000000000 +0100 ++++ misc/build/mozilla/directory/c-sdk/ldap/libraries/libssldap/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -56,7 +56,7 @@ + HDIR = $(topsrcdir)/ldap/include + + LIBSSLDAP = $(addprefix $(SSLOBJDEST)/, $(LIB_PREFIX)$(SSLDAP_LIBNAME).$(LIB_SUFFIX)) +-DLLSSLDAP = $(addprefix $(SSLOBJDEST)/, $(LIB_PREFIX)$(SSLDAP_LIBNAME).$(DLL_SUFFIX)) ++DLLSSLDAP = $(addprefix $(SSLOBJDEST)/, $(DLL_PREFIX)$(SSLDAP_LIBNAME).$(DLL_SUFFIX)) + + INSTALLDIR = $(DIST)/$(OBJDIR_NAME) + +--- misc/mozilla/embedding/browser/gtk/src/Makefile.in 2006-03-22 19:22:41.000000000 +0100 ++++ misc/build/mozilla/embedding/browser/gtk/src/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -112,14 +112,14 @@ + gtkmozembed_internal.h + + ifdef MOZ_ENABLE_GTK +-EXTRA_DSO_LDOPTS = \ ++EXTRA_DSO_LDOPTS += \ + $(MOZ_COMPONENT_LIBS) \ + -lgtksuperwin \ + $(NULL) + endif + + ifdef MOZ_ENABLE_GTK2 +-EXTRA_DSO_LDOPTS = \ ++EXTRA_DSO_LDOPTS += \ + $(MOZ_COMPONENT_LIBS) \ + $(NULL) + endif +--- misc/mozilla/embedding/browser/gtk/tests/Makefile.in 2006-03-24 17:10:37.000000000 +0100 ++++ misc/build/mozilla/embedding/browser/gtk/tests/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -63,10 +63,11 @@ + TestGtkEmbedNotebook.cpp \ + TestGtkEmbedSocket.cpp \ + TestGtkEmbedChild.cpp +-endif + + SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=) + ++endif ++ + # ENABLE_GNOME=1 + + ifdef ENABLE_GNOME +--- misc/mozilla/embedding/components/printingui/src/mac/printpde/Makefile.in 2005-06-20 21:24:51.000000000 +0200 ++++ misc/build/mozilla/embedding/components/printingui/src/mac/printpde/Makefile.in 2009-02-19 13:11:39.000000000 +0100 +@@ -68,25 +68,15 @@ + + unexport CC CXX + +-ABS_topsrcdir := $(shell cd $(topsrcdir); pwd) +-ifneq ($(ABS_topsrcdir),$(MOZ_BUILD_ROOT)) +-export:: +- rsync -a --exclude .DS_Store --exclude "CVS/" $(srcdir)/$(PROJECT) . +- ln -fs $(srcdir)/src +- ln -fs $(srcdir)/res +- ln -fs $(srcdir)/public +- ln -fs $(srcdir)/Info-*.plist . +-endif +- + libs:: + # Bug 297227: The next line doesn't need to stay around forever, only + # long enough to clean up existing depend builds from when xcodebuild + # was being instructed to "install" + if test -e build/UninstalledProducts ; then $(MAKE) clean ; rm -rf $(DIST)/package/PrintPDE.plugin ; fi + +- $(PBBUILD) $(PROJECT_ARG) -target PrintPDE -buildstyle $(BUILDSTYLE) $(PBBUILD_ARG) +- mkdir -p $(DIST)/package +- $(INSTALL) $(XCODE_PRODUCT_DIR)/PrintPDE.plugin $(DIST)/package ++# $(PBBUILD) $(PROJECT_ARG) -target PrintPDE -buildstyle $(BUILDSTYLE) $(PBBUILD_ARG) ++# mkdir -p $(DIST)/package ++# $(INSTALL) $(XCODE_PRODUCT_DIR)/PrintPDE.plugin $(DIST)/package + + clean clobber:: + rm -rf build +--- misc/mozilla/embedding/config/Makefile.in 2007-10-08 21:08:15.000000000 +0200 ++++ misc/build/mozilla/embedding/config/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -110,7 +110,7 @@ + $(NSINSTALL) -t $(srcdir)/installed-chrome.txt $(DIST)/Embed/chrome + $(NSINSTALL) -t $(srcdir)/readme.html $(DIST)/Embed + ifndef MINIMO +- -$(NSINSTALL) -t $(DEPTH)/embedding/lite/$(LIB_PREFIX)embed_lite$(DLL_SUFFIX) $(DIST)/Embed/components ++ -$(NSINSTALL) -t $(DEPTH)/embedding/lite/$(DLL_PREFIX)embed_lite$(DLL_SUFFIX) $(DIST)/Embed/components + endif + ifeq ($(OS_ARCH),WINNT) + ifeq ($(WINAPP),mfcembed) +--- misc/mozilla/extensions/pref/autoconfig/src/Makefile.in 2006-02-03 15:41:09.000000000 +0100 ++++ misc/build/mozilla/extensions/pref/autoconfig/src/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -85,7 +85,7 @@ + endif + + +-EXTRA_DSO_LDOPTS = \ ++EXTRA_DSO_LDOPTS += \ + $(LIBS_DIR) \ + $(MOZ_JS_LIBS) \ + $(MOZ_COMPONENT_LIBS) \ +--- misc/mozilla/extensions/sql/build/Makefile.in 2004-11-29 18:39:08.000000000 +0100 ++++ misc/build/mozilla/extensions/sql/build/Makefile.in 2008-08-18 14:03:04.000000000 +0200 +@@ -55,5 +55,5 @@ + bin/components/sqlpgsql.xpt \ + bin/components/sqlsqlite.xpt \ + bin/components/sqlmysql.xpt \ +- bin/components/$(LIB_PREFIX)sql$(DLL_SUFFIX) \ ++ bin/components/$(DLL_PREFIX)sql$(DLL_SUFFIX) \ + bin/chrome/sql.jar +--- misc/mozilla/gfx/idl/nsIFreeType2.idl 2004-04-16 01:30:02.000000000 +0200 ++++ misc/build/mozilla/gfx/idl/nsIFreeType2.idl 2008-08-14 16:22:21.000000000 +0200 +@@ -76,10 +76,11 @@ + native FT_Sfnt_Tag(FT_Sfnt_Tag); + native FT_Size(FT_Size); + +-[ptr] native FTC_Image_Desc_p(FTC_Image_Desc); ++[ptr] native FTC_ImageType_p(FTC_ImageType); + native FTC_Face_Requester(FTC_Face_Requester); + native FTC_Font(FTC_Font); +-native FTC_Image_Cache(FTC_Image_Cache); ++native FTC_FaceID(FTC_FaceID); ++native FTC_ImageCache(FTC_ImageCache); + native FTC_Manager(FTC_Manager); + + // #ifdef MOZ_SVG +@@ -99,7 +100,7 @@ + + readonly attribute FT_Library library; + readonly attribute FTC_Manager FTCacheManager; +- readonly attribute FTC_Image_Cache ImageCache; ++ readonly attribute FTC_ImageCache ImageCache; + + void doneFace(in FT_Face face); + void doneFreeType(in FT_Library lib); +@@ -115,16 +116,16 @@ + void outlineDecompose(in FT_Outline_p outline, + in const_FT_Outline_Funcs_p funcs, in voidPtr p); + void setCharmap(in FT_Face face, in FT_CharMap charmap); +- void imageCacheLookup(in FTC_Image_Cache cache, in FTC_Image_Desc_p desc, ++ void imageCacheLookup(in FTC_ImageCache cache, in FTC_ImageType_p desc, + in FT_UInt gindex, out FT_Glyph glyph); +- void managerLookupSize(in FTC_Manager manager, in FTC_Font font, +- out FT_Face face, out FT_Size size); ++ void managerLookupFace(in FTC_Manager manager, in FTC_FaceID face_id, ++ out FT_Face face); + void managerDone(in FTC_Manager manager); + void managerNew(in FT_Library lib, in FT_UInt max_faces, + in FT_UInt max_sizes, in FT_ULong max_bytes, + in FTC_Face_Requester requester, in FT_Pointer req_data, + out FTC_Manager manager); +- void imageCacheNew(in FTC_Manager manager, out FTC_Image_Cache cache); ++ void imageCacheNew(in FTC_Manager manager, out FTC_ImageCache cache); + /* #ifdef MOZ_SVG */ + void glyphTransform(in FT_Glyph glyph, in FT_Matrix_p matrix, + in FT_Vector_p delta); +--- misc/mozilla/gfx/src/freetype/nsFreeType.cpp 2005-07-13 20:21:10.000000000 +0200 ++++ misc/build/mozilla/gfx/src/freetype/nsFreeType.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -111,7 +111,7 @@ + {"FT_Outline_Decompose", NS_FT2_OFFSET(nsFT_Outline_Decompose), PR_TRUE}, + {"FT_Set_Charmap", NS_FT2_OFFSET(nsFT_Set_Charmap), PR_TRUE}, + {"FTC_Image_Cache_Lookup", NS_FT2_OFFSET(nsFTC_Image_Cache_Lookup), PR_TRUE}, +- {"FTC_Manager_Lookup_Size", NS_FT2_OFFSET(nsFTC_Manager_Lookup_Size), PR_TRUE}, ++ {"FTC_Manager_LookupFace", NS_FT2_OFFSET(nsFTC_Manager_LookupFace), PR_TRUE}, + {"FTC_Manager_Done", NS_FT2_OFFSET(nsFTC_Manager_Done), PR_TRUE}, + {"FTC_Manager_New", NS_FT2_OFFSET(nsFTC_Manager_New), PR_TRUE}, + {"FTC_Image_Cache_New", NS_FT2_OFFSET(nsFTC_Image_Cache_New), PR_TRUE}, +@@ -288,7 +288,7 @@ + } + + NS_IMETHODIMP +-nsFreeType2::ImageCacheLookup(FTC_Image_Cache cache, FTC_Image_Desc *desc, ++nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType *desc, + FT_UInt glyphID, FT_Glyph *glyph) + { + // call the FreeType2 function via the function pointer +@@ -297,11 +297,11 @@ + } + + NS_IMETHODIMP +-nsFreeType2::ManagerLookupSize(FTC_Manager manager, FTC_Font font, +- FT_Face *face, FT_Size *size) ++nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID font, ++ FT_Face *face) + { + // call the FreeType2 function via the function pointer +- FT_Error error = nsFTC_Manager_Lookup_Size(manager, font, face, size); ++ FT_Error error = nsFTC_Manager_LookupFace(manager, font, face); + return error ? NS_ERROR_FAILURE : NS_OK; + } + +@@ -326,7 +326,7 @@ + } + + NS_IMETHODIMP +-nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_Image_Cache *cache) ++nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache) + { + // call the FreeType2 function via the function pointer + FT_Error error = nsFTC_Image_Cache_New(manager, cache); +@@ -395,7 +395,7 @@ + } + + NS_IMETHODIMP +-nsFreeType2::GetImageCache(FTC_Image_Cache *aCache) ++nsFreeType2::GetImageCache(FTC_ImageCache *aCache) + { + *aCache = mImageCache; + return NS_OK; +--- misc/mozilla/gfx/src/freetype/nsFreeType.h 2005-05-01 19:36:19.000000000 +0200 ++++ misc/build/mozilla/gfx/src/freetype/nsFreeType.h 2008-08-14 16:22:21.000000000 +0200 +@@ -120,13 +120,13 @@ + typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*); + typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap); + typedef FT_Error (*FTC_Image_Cache_Lookup_t) +- (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*); +-typedef FT_Error (*FTC_Manager_Lookup_Size_t) +- (FTC_Manager, FTC_Font, FT_Face*, FT_Size*); ++ (FTC_ImageCache, FTC_ImageType*, FT_UInt, FT_Glyph*); ++typedef FT_Error (*FTC_Manager_LookupFace_t) ++ (FTC_Manager, FTC_FaceID, FT_Face*); + typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager); + typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong, + FTC_Face_Requester, FT_Pointer, FTC_Manager*); +-typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*); ++typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_ImageCache*); + // #ifdef MOZ_SVG + typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*); + typedef FT_Error (*FT_Get_Kerning_t) +@@ -181,7 +181,7 @@ + FT_Outline_Decompose_t nsFT_Outline_Decompose; + FT_Set_Charmap_t nsFT_Set_Charmap; + FTC_Image_Cache_Lookup_t nsFTC_Image_Cache_Lookup; +- FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size; ++ FTC_Manager_LookupFace_t nsFTC_Manager_LookupFace; + FTC_Manager_Done_t nsFTC_Manager_Done; + FTC_Manager_New_t nsFTC_Manager_New; + FTC_Image_Cache_New_t nsFTC_Image_Cache_New; +@@ -229,7 +229,7 @@ + PRLibrary *mSharedLib; + FT_Library mFreeTypeLibrary; + FTC_Manager mFTCacheManager; +- FTC_Image_Cache mImageCache; ++ FTC_ImageCache mImageCache; + + static nsHashtable *sFontFamilies; + static nsHashtable *sRange1CharSetNames; +--- misc/mozilla/gfx/src/gtk/Makefile.in 2006-07-20 07:12:33.000000000 +0200 ++++ misc/build/mozilla/gfx/src/gtk/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -211,6 +211,10 @@ + CXXFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) + CFLAGS += $(MOZ_GTK_CFLAGS) $(MOZ_GTK2_CFLAGS) + ++ifeq ($(OS_ARCH), Darwin) ++EXTRA_DSO_LDOPTS += $(XLDFLAGS) $(XLIBS) ++endif ++ + ifeq ($(OS_ARCH), SunOS) + ifndef GNU_CC + # When using Sun's WorkShop compiler, including +--- misc/mozilla/gfx/src/ps/nsFontMetricsPS.cpp 2006-12-22 14:51:16.000000000 +0100 ++++ misc/build/mozilla/gfx/src/ps/nsFontMetricsPS.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -1870,10 +1870,10 @@ + + mPixelSize = NSToIntRound(app2dev * mFont->size); + +- mImageDesc.font.face_id = (void*)mEntry; +- mImageDesc.font.pix_width = mPixelSize; +- mImageDesc.font.pix_height = mPixelSize; +- mImageDesc.image_type = 0; ++ mImageDesc->face_id = (FTC_FaceID)&mEntry; ++ mImageDesc->width = mPixelSize; ++ mImageDesc->height = mPixelSize; ++ mImageDesc->flags = 0; + + nsresult rv; + mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv); +@@ -1907,7 +1907,7 @@ + if (!face) + return 0; + +- FTC_Image_Cache iCache; ++ FTC_ImageCache iCache; + nsresult rv = mFt2->GetImageCache(&iCache); + if (NS_FAILED(rv)) { + NS_ERROR("Failed to get Image Cache"); +@@ -1945,8 +1945,8 @@ + + FTC_Manager cManager; + mFt2->GetFTCacheManager(&cManager); +- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font, +- &face, nsnull); ++ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id, ++ &face); + NS_ASSERTION(rv==0, "failed to get face/size"); + if (rv) + return nsnull; +@@ -2392,16 +2392,16 @@ + mEntry->GetFamilyName(fontName); + mEntry->GetStyleName(styleName); + +- mImageDesc.font.face_id = (void*)mEntry; ++ mImageDesc->face_id = (FTC_FaceID)&mEntry; + // TT glyph has no relation to size +- mImageDesc.font.pix_width = 16; +- mImageDesc.font.pix_height = 16; +- mImageDesc.image_type = 0; ++ mImageDesc->width = 16; ++ mImageDesc->height = 16; ++ mImageDesc->flags = 0; + FT_Face face = nsnull; + FTC_Manager cManager; + mFt2->GetFTCacheManager(&cManager); +- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font, +- &face, nsnull); ++ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id, ++ &face); + if (NS_FAILED(rv)) + return; + +--- misc/mozilla/gfx/src/ps/nsFontMetricsPS.h 2005-06-28 20:29:10.000000000 +0200 ++++ misc/build/mozilla/gfx/src/ps/nsFontMetricsPS.h 2008-08-20 15:42:50.000000000 +0200 +@@ -424,7 +424,7 @@ + nsCOMPtr<nsITrueTypeFontCatalogEntry> mFaceID; + nsCOMPtr<nsIFreeType2> mFt2; + PRUint16 mPixelSize; +- FTC_Image_Desc mImageDesc; ++ FTC_ImageType mImageDesc; + nsCString mFontNameBase; // the base name of type 1 (sub) fonts + nscoord mHeight; + +@@ -493,7 +493,7 @@ + protected: + nsCOMPtr<nsITrueTypeFontCatalogEntry> mEntry; + nsCOMPtr<nsIFreeType2> mFt2; +- FTC_Image_Desc mImageDesc; ++ FTC_ImageType mImageDesc; + }; + #endif // MOZ_ENABLE_FREETYPE2 + #endif // MOZ_ENABLE_XFT +--- misc/mozilla/gfx/src/x11shared/nsFontFreeType.cpp 2004-04-17 23:52:34.000000000 +0200 ++++ misc/build/mozilla/gfx/src/x11shared/nsFontFreeType.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -177,7 +177,7 @@ + FTC_Manager mgr; + nsresult rv; + mFt2->GetFTCacheManager(&mgr); +- rv = mFt2->ManagerLookupSize(mgr, &mImageDesc.font, &face, nsnull); ++ rv = mFt2->ManagerLookupFace(mgr, mImageDesc->face_id, &face); + NS_ASSERTION(NS_SUCCEEDED(rv), "failed to get face/size"); + if (NS_FAILED(rv)) + return nsnull; +@@ -191,22 +191,15 @@ + PRBool embedded_bimap = PR_FALSE; + mFaceID = aFaceID; + mPixelSize = aPixelSize; +- mImageDesc.font.face_id = (void*)mFaceID; +- mImageDesc.font.pix_width = aPixelSize; +- mImageDesc.font.pix_height = aPixelSize; +- mImageDesc.image_type = 0; ++ mImageDesc->face_id = (FTC_FaceID)&mFaceID; ++ mImageDesc->width = aPixelSize; ++ mImageDesc->height = aPixelSize; ++ mImageDesc->flags = 0; + + if (aPixelSize < nsFreeType2::gAntiAliasMinimum) { +- mImageDesc.image_type |= ftc_image_mono; + anti_alias = PR_FALSE; + } + +- if (nsFreeType2::gFreeType2Autohinted) +- mImageDesc.image_type |= ftc_image_flag_autohinted; +- +- if (nsFreeType2::gFreeType2Unhinted) +- mImageDesc.image_type |= ftc_image_flag_unhinted; +- + PRUint32 num_embedded_bitmaps, i; + PRInt32* embedded_bitmapheights; + mFaceID->GetEmbeddedBitmapHeights(&num_embedded_bitmaps, +@@ -218,7 +211,6 @@ + if (embedded_bitmapheights[i] == aPixelSize) { + embedded_bimap = PR_TRUE; + // unhinted must be set for embedded bitmaps to be used +- mImageDesc.image_type |= ftc_image_flag_unhinted; + break; + } + } +@@ -312,7 +304,7 @@ + if (!face) + return NS_ERROR_FAILURE; + +- FTC_Image_Cache icache; ++ FTC_ImageCache icache; + mFt2->GetImageCache(&icache); + if (!icache) + return NS_ERROR_FAILURE; +@@ -401,7 +393,7 @@ + if (!face) + return 0; + +- FTC_Image_Cache icache; ++ FTC_ImageCache icache; + mFt2->GetImageCache(&icache); + if (!icache) + return 0; +@@ -723,7 +715,7 @@ + if (y%4==0) (*blendPixelFunc)(sub_image, y, ascent-1, black, 255/2); + #endif + +- FTC_Image_Cache icache; ++ FTC_ImageCache icache; + mFt2->GetImageCache(&icache); + if (!icache) + return 0; +--- misc/mozilla/gfx/src/x11shared/nsFontFreeType.h 2004-04-17 23:52:34.000000000 +0200 ++++ misc/build/mozilla/gfx/src/x11shared/nsFontFreeType.h 2008-08-14 16:22:21.000000000 +0200 +@@ -110,7 +110,7 @@ + XImage *GetXImage(PRUint32 width, PRUint32 height); + nsITrueTypeFontCatalogEntry *mFaceID; + PRUint16 mPixelSize; +- FTC_Image_Desc mImageDesc; ++ FTC_ImageType mImageDesc; + nsCOMPtr<nsIFreeType2> mFt2; + }; + +--- misc/mozilla/jpeg/jmorecfg.h 2004-12-12 01:57:39.000000000 +0100 ++++ misc/build/mozilla/jpeg/jmorecfg.h 2008-08-18 09:06:05.000000000 +0200 +@@ -108,7 +108,7 @@ + /* Defines for MMX/SSE2 support. */ + + #if defined(XP_WIN32) && defined(_M_IX86) && !defined(__GNUC__) +-#define HAVE_MMX_INTEL_MNEMONICS ++//#define HAVE_MMX_INTEL_MNEMONICS + + /* SSE2 code appears broken for some cpus (bug 247437) */ + /* #define HAVE_SSE2_INTEL_MNEMONICS */ +--- misc/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2006-03-16 18:09:14.000000000 +0100 ++++ misc/build/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -423,19 +423,19 @@ + return; + } + +- FTC_Image_Desc imageDesc; +- imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref? ++ FTC_ImageType imageDesc; ++ imageDesc->face_id=(FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref? + float twipstopixel = GetTwipsToPixels(); + float scale = GetPixelScale(); +- imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale); +- imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale); +- imageDesc.image_type |= ftc_image_grays; ++ imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale); ++ imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale); ++ imageDesc->flags |= /* ftc_image_grays */0; + + // get the face + nsresult rv; + FTC_Manager mgr; + nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr); +- rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull); ++ rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace); + NS_ASSERTION(mFace, "failed to get face/size"); + } + +--- misc/mozilla/mailnews/addrbook/src/Makefile.in 2007-05-03 03:39:37.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/Makefile.in 2008-10-16 12:59:35.000000000 +0200 +@@ -106,6 +106,7 @@ + nsVCard.cpp \ + nsVCardObj.cpp \ + nsMsgVCardService.cpp \ ++ nsAbMD5sum.cpp \ + nsAbLDIFService.cpp \ + $(NULL) + +@@ -114,7 +115,9 @@ + nsDirPrefs.h \ + nsAbCardProperty.h \ + nsAbMDBCardProperty.h \ +- nsVCardObj.h \ ++ nsVCardObj.h \ ++ nsAbAddressCollecter.h \ ++ nsAbDirectoryQuery.h \ + $(NULL) + + ifeq ($(OS_ARCH),WINNT) +--- misc/mozilla/mailnews/addrbook/src/nsAbBoolExprToLDAPFilter.h 2005-05-11 06:16:53.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbBoolExprToLDAPFilter.h 2008-08-14 16:22:21.000000000 +0200 +@@ -43,6 +43,7 @@ + #include "nsIAbBooleanExpression.h" + #include "nsCOMPtr.h" + #include "nsString.h" ++#include "nsAbUtils.h" + + class nsIAbLDAPAttributeMap; + +@@ -74,6 +75,16 @@ + nsIAbBooleanConditionString* condition, + nsCString& filter, + int flags); ++ static void GenerateMultipleFilter( ++ nsAbBooleanConditionType conditionType, ++ nsCString& filter, ++ NS_ConvertUCS2toUTF8 &vUTF8, ++ CharPtrArrayGuard *pAttrs); ++ static void GenerateSingleFilter( ++ nsAbBooleanConditionType conditionType, ++ nsCString& filter, ++ NS_ConvertUCS2toUTF8 &vUTF8, ++ const char *ldapProperty); + }; + + #endif +--- misc/mozilla/mailnews/addrbook/src/nsAbLDAPDirectory.cpp 2007-02-18 23:18:13.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbLDAPDirectory.cpp 2008-08-20 12:16:50.000000000 +0200 +@@ -126,11 +126,13 @@ + + // use mURINoQuery to get a prefName + nsCAutoString prefName; +- prefName = nsDependentCString(mURINoQuery.get() + kLDAPDirectoryRootLen) + NS_LITERAL_CSTRING(".uri"); ++ prefName = nsDependentCString(mURINoQuery.get() + kLDAPDirectoryRootLen); + + // turn moz-abldapdirectory://ldap_2.servers.nscpphonebook into -> "ldap_2.servers.nscpphonebook.uri" + nsXPIDLCString URI; +- rv = prefs->GetCharPref(prefName.get(), getter_Copies(URI)); ++ nsCAutoString uriPrefName; ++ uriPrefName = prefName + NS_LITERAL_CSTRING(".uri"); ++ rv = prefs->GetCharPref(uriPrefName.get(), getter_Copies(URI)); + if (NS_FAILED(rv)) + { + /* +@@ -154,6 +156,27 @@ + nsCAutoString tempLDAPURL(mURINoQuery); + tempLDAPURL.ReplaceSubstring("moz-abldapdirectory:", "ldap:"); + rv = mURL->SetSpec(tempLDAPURL); ++ NS_ENSURE_SUCCESS(rv,rv); ++ ++ nsCAutoString aHost; ++ mURL->GetHost(aHost); ++ aHost.ReplaceChar('.','_'); ++ prefName = nsDependentCString("ldap_2.servers.") + aHost; ++ PRBool useSSL=0; ++ rv = prefs->GetBoolPref( ++ PromiseFlatCString(prefName ++ + NS_LITERAL_CSTRING(".UseSSL")).get(), ++ &useSSL ++ ); ++ ++ // If use SSL,ldap url will look like this ldaps://host:port/..... ++ if (!NS_FAILED(rv) && useSSL) ++ { ++ tempLDAPURL.ReplaceSubstring("ldap:", "ldaps:"); ++ rv = mURL->SetSpec(tempLDAPURL); ++ } ++ //NS_FAILED(rv) means ldap_2.servers.nscpphonebook.UseSSL not exist ++ rv = 0; + } + else + { +@@ -164,24 +187,29 @@ + // get the login information, if there is any + // + rv = prefs->GetCharPref( +- PromiseFlatCString( +- Substring(mURINoQuery, kLDAPDirectoryRootLen, +- mURINoQuery.Length() - kLDAPDirectoryRootLen) ++ PromiseFlatCString(prefName + + NS_LITERAL_CSTRING(".auth.dn")).get(), + getter_Copies(mLogin)); + if (NS_FAILED(rv)) { + mLogin.Truncate(); // zero out mLogin + } + ++ // get the password information, if there is any ++ // ++ rv = prefs->GetCharPref( ++ PromiseFlatCString(prefName ++ + NS_LITERAL_CSTRING(".auth.pwd")).get(), ++ getter_Copies(mPassword)); ++ if (NS_FAILED(rv)) { ++ mPassword.Truncate(); // zero out mLogin ++ } + // get the protocol version, if there is any. using a string pref + // here instead of an int, as protocol versions sometimes have names like + // "4bis". + // + nsXPIDLCString protocolVersion; + rv = prefs->GetCharPref( +- PromiseFlatCString( +- Substring(mURINoQuery, kLDAPDirectoryRootLen, +- mURINoQuery.Length() - kLDAPDirectoryRootLen) ++ PromiseFlatCString(prefName + + NS_LITERAL_CSTRING(".protocolVersion")).get(), + getter_Copies(protocolVersion)); + +--- misc/mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2006-12-22 14:51:38.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2008-08-20 15:01:16.000000000 +0200 +@@ -74,7 +74,7 @@ + PRInt32 resultLimit = -1, + PRInt32 timeOut = 0); + virtual ~nsAbQueryLDAPMessageListener (); +- ++ void SetPassword(const nsAString& aPassword){m_sPassword = aPassword;}; + protected: + nsresult OnLDAPMessageBind (nsILDAPMessage *aMessage); + nsresult OnLDAPMessageSearchEntry (nsILDAPMessage *aMessage, +@@ -108,6 +108,8 @@ + PRBool mCanceled; + PRBool mWaitingForPrevQueryToFinish; + ++ nsAutoString m_sPassword; ++ + nsCOMPtr<nsILDAPOperation> mSearchOperation; + + PRLock* mLock; +@@ -272,7 +274,7 @@ + + // If mLogin is set, we're expected to use it to get a password. + // +- if (!mDirectoryQuery->mLogin.IsEmpty()) { ++ if (!mDirectoryQuery->mLogin.IsEmpty() && !m_sPassword.Length()) { + // XXX hack until nsUTF8AutoString exists + #define nsUTF8AutoString nsCAutoString + nsUTF8AutoString spec; +@@ -415,10 +417,13 @@ + rv = ldapOperation->Init(mConnection, proxyListener, nsnull); + NS_ENSURE_SUCCESS(rv, rv); + +- // Bind +- rv = ldapOperation->SimpleBind(NS_ConvertUCS2toUTF8(passwd)); ++ ++ // Bind ++ if (m_sPassword.Length()) ++ rv = ldapOperation->SimpleBind(NS_ConvertUCS2toUTF8(m_sPassword)); ++ else ++ rv = ldapOperation->SimpleBind(NS_ConvertUCS2toUTF8(passwd)); + NS_ENSURE_SUCCESS(rv, rv); +- + return rv; + } + +@@ -707,7 +712,7 @@ + rv = getLdapReturnAttributes (arguments, returnAttributes); + NS_ENSURE_SUCCESS(rv, rv); + +- ++ + // Get the filter + nsCOMPtr<nsISupports> supportsExpression; + rv = arguments->GetExpression (getter_AddRefs (supportsExpression)); +@@ -828,6 +833,10 @@ + if (msgListener) + { + msgListener->mUrl = url; ++ msgListener->mQueryListener = listener; ++ msgListener->mResultLimit = resultLimit; ++ msgListener->mTimeOut = timeOut; ++ msgListener->mQueryArguments = arguments; + return msgListener->DoSearch(); + } + } +@@ -845,6 +854,11 @@ + timeOut); + if (_messageListener == NULL) + return NS_ERROR_OUT_OF_MEMORY; ++ ++ nsAutoString wPassword; ++ wPassword.AssignWithConversion(mPassword.get()); ++ _messageListener->SetPassword(wPassword); ++ + mListener = _messageListener; + *_retval = 1; + +--- misc/mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.h 2004-07-24 21:50:29.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.h 2008-08-14 16:22:21.000000000 +0200 +@@ -72,6 +72,7 @@ + friend class nsAbQueryLDAPMessageListener; + nsresult Initiate (); + nsXPIDLCString mLogin; // authenticate to the LDAP server as... ++ nsXPIDLCString mPassword; // password to the LDAP server as... + nsCOMPtr<nsILDAPURL> mDirectoryUrl; // the URL for the server + PRUint32 mProtocolVersion; // version of LDAP (see nsILDAPConnection.idl) + +--- misc/mozilla/mailnews/addrbook/src/nsAbMD5sum.cpp 2008-08-14 16:30:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbMD5sum.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -1 +1,633 @@ +-dummy ++/* ++ * The contents of this file are subject to the Mozilla Public ++ * License Version 1.1 (the "License"); you may not use this file ++ * except in compliance with the License. You may obtain a copy of ++ * the License at http://www.mozilla.org/MPL/ ++ * ++ * Software distributed under the License is distributed on an "AS ++ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or ++ * implied. See the License for the specific language governing ++ * rights and limitations under the License. ++ * ++ * The Original Code is the Netscape security libraries. ++ * ++ * The Initial Developer of the Original Code is Netscape ++ * Communications Corporation. Portions created by Netscape are ++ * Copyright (C) 1994-2000 Netscape Communications Corporation. All ++ * Rights Reserved. ++ * ++ * Contributor(s): ++ * ++ * Alternatively, the contents of this file may be used under the ++ * terms of the GNU General Public License Version 2 or later (the ++ * "GPL"), in which case the provisions of the GPL are applicable ++ * instead of those above. If you wish to allow use of your ++ * version of this file only under the terms of the GPL and not to ++ * allow others to use your version of this file under the MPL, ++ * indicate your decision by deleting the provisions above and ++ * replace them with the notice and other provisions required by ++ * the GPL. If you do not delete the provisions above, a recipient ++ * may use your version of this file under either the MPL or the ++ * GPL. ++ */ ++#include <stdio.h> ++#include <stdlib.h> ++ ++#include "prerr.h" ++ ++#include "prtypes.h" ++#include "prlong.h" ++#include "plstr.h" ++#include "nsMemory.h" ++ ++#define MD5_HASH_LEN 16 ++#define MD5_BUFFER_SIZE 64 ++#define MD5_END_BUFFER (MD5_BUFFER_SIZE - 8) ++ ++#define CV0_1 0x67452301 ++#define CV0_2 0xefcdab89 ++#define CV0_3 0x98badcfe ++#define CV0_4 0x10325476 ++ ++#define T1_0 0xd76aa478 ++#define T1_1 0xe8c7b756 ++#define T1_2 0x242070db ++#define T1_3 0xc1bdceee ++#define T1_4 0xf57c0faf ++#define T1_5 0x4787c62a ++#define T1_6 0xa8304613 ++#define T1_7 0xfd469501 ++#define T1_8 0x698098d8 ++#define T1_9 0x8b44f7af ++#define T1_10 0xffff5bb1 ++#define T1_11 0x895cd7be ++#define T1_12 0x6b901122 ++#define T1_13 0xfd987193 ++#define T1_14 0xa679438e ++#define T1_15 0x49b40821 ++ ++#define T2_0 0xf61e2562 ++#define T2_1 0xc040b340 ++#define T2_2 0x265e5a51 ++#define T2_3 0xe9b6c7aa ++#define T2_4 0xd62f105d ++#define T2_5 0x02441453 ++#define T2_6 0xd8a1e681 ++#define T2_7 0xe7d3fbc8 ++#define T2_8 0x21e1cde6 ++#define T2_9 0xc33707d6 ++#define T2_10 0xf4d50d87 ++#define T2_11 0x455a14ed ++#define T2_12 0xa9e3e905 ++#define T2_13 0xfcefa3f8 ++#define T2_14 0x676f02d9 ++#define T2_15 0x8d2a4c8a ++ ++#define T3_0 0xfffa3942 ++#define T3_1 0x8771f681 ++#define T3_2 0x6d9d6122 ++#define T3_3 0xfde5380c ++#define T3_4 0xa4beea44 ++#define T3_5 0x4bdecfa9 ++#define T3_6 0xf6bb4b60 ++#define T3_7 0xbebfbc70 ++#define T3_8 0x289b7ec6 ++#define T3_9 0xeaa127fa ++#define T3_10 0xd4ef3085 ++#define T3_11 0x04881d05 ++#define T3_12 0xd9d4d039 ++#define T3_13 0xe6db99e5 ++#define T3_14 0x1fa27cf8 ++#define T3_15 0xc4ac5665 ++ ++#define T4_0 0xf4292244 ++#define T4_1 0x432aff97 ++#define T4_2 0xab9423a7 ++#define T4_3 0xfc93a039 ++#define T4_4 0x655b59c3 ++#define T4_5 0x8f0ccc92 ++#define T4_6 0xffeff47d ++#define T4_7 0x85845dd1 ++#define T4_8 0x6fa87e4f ++#define T4_9 0xfe2ce6e0 ++#define T4_10 0xa3014314 ++#define T4_11 0x4e0811a1 ++#define T4_12 0xf7537e82 ++#define T4_13 0xbd3af235 ++#define T4_14 0x2ad7d2bb ++#define T4_15 0xeb86d391 ++ ++#define R1B0 0 ++#define R1B1 1 ++#define R1B2 2 ++#define R1B3 3 ++#define R1B4 4 ++#define R1B5 5 ++#define R1B6 6 ++#define R1B7 7 ++#define R1B8 8 ++#define R1B9 9 ++#define R1B10 10 ++#define R1B11 11 ++#define R1B12 12 ++#define R1B13 13 ++#define R1B14 14 ++#define R1B15 15 ++ ++#define R2B0 1 ++#define R2B1 6 ++#define R2B2 11 ++#define R2B3 0 ++#define R2B4 5 ++#define R2B5 10 ++#define R2B6 15 ++#define R2B7 4 ++#define R2B8 9 ++#define R2B9 14 ++#define R2B10 3 ++#define R2B11 8 ++#define R2B12 13 ++#define R2B13 2 ++#define R2B14 7 ++#define R2B15 12 ++ ++#define R3B0 5 ++#define R3B1 8 ++#define R3B2 11 ++#define R3B3 14 ++#define R3B4 1 ++#define R3B5 4 ++#define R3B6 7 ++#define R3B7 10 ++#define R3B8 13 ++#define R3B9 0 ++#define R3B10 3 ++#define R3B11 6 ++#define R3B12 9 ++#define R3B13 12 ++#define R3B14 15 ++#define R3B15 2 ++ ++#define R4B0 0 ++#define R4B1 7 ++#define R4B2 14 ++#define R4B3 5 ++#define R4B4 12 ++#define R4B5 3 ++#define R4B6 10 ++#define R4B7 1 ++#define R4B8 8 ++#define R4B9 15 ++#define R4B10 6 ++#define R4B11 13 ++#define R4B12 4 ++#define R4B13 11 ++#define R4B14 2 ++#define R4B15 9 ++ ++#define S1_0 7 ++#define S1_1 12 ++#define S1_2 17 ++#define S1_3 22 ++ ++#define S2_0 5 ++#define S2_1 9 ++#define S2_2 14 ++#define S2_3 20 ++ ++#define S3_0 4 ++#define S3_1 11 ++#define S3_2 16 ++#define S3_3 23 ++ ++#define S4_0 6 ++#define S4_1 10 ++#define S4_2 15 ++#define S4_3 21 ++ ++struct MD5ContextStr { ++ PRUint32 lsbInput; ++ PRUint32 msbInput; ++ PRUint32 cv[4]; ++ union { ++ PRUint8 b[64]; ++ PRUint32 w[16]; ++ } u; ++}; ++typedef struct MD5ContextStr MD5Context; ++ ++#define inBuf u.b ++ ++int MD5_Hash(unsigned char *dest, const char *src); ++int MD5_HashBuf(unsigned char *dest, const unsigned char *src, uint32 src_length); ++MD5Context * MD5_NewContext(void); ++void MD5_DestroyContext(MD5Context *cx, PRBool freeit); ++void MD5_Begin(MD5Context *cx); ++static void md5_compress(MD5Context *cx); ++void MD5_Update(MD5Context *cx, const unsigned char *input, unsigned int inputLen); ++void MD5_End(MD5Context *cx, unsigned char *digest, ++ unsigned int *digestLen, unsigned int maxDigestLen); ++unsigned int MD5_FlattenSize(MD5Context *cx); ++int MD5_Flatten(MD5Context *cx, unsigned char *space); ++MD5Context * MD5_Resurrect(unsigned char *space, void *arg); ++void MD5_TraceState(MD5Context *cx); ++ ++int ++MD5_Hash(unsigned char *dest, const char *src) ++{ ++ return MD5_HashBuf(dest, (unsigned char *)src, PL_strlen(src)); ++} ++ ++int ++MD5_HashBuf(unsigned char *dest, const unsigned char *src, uint32 src_length) ++{ ++ unsigned int len; ++ MD5Context *cx = MD5_NewContext(); ++ if (cx == NULL) { ++// PORT_SetError(PR_OUT_OF_MEMORY_ERROR); ++ return -1; ++ } ++ MD5_Begin(cx); ++ MD5_Update(cx, src, src_length); ++ MD5_End(cx, dest, &len, MD5_HASH_LEN); ++ MD5_DestroyContext(cx, PR_TRUE); ++ return 0; ++} ++ ++MD5Context * ++MD5_NewContext(void) ++{ ++ MD5Context *cx = (MD5Context *)malloc(sizeof(MD5Context)); ++ if (cx == NULL) { ++// PORT_SetError(PR_OUT_OF_MEMORY_ERROR); ++ return NULL; ++ } ++ return cx; ++} ++ ++void ++MD5_DestroyContext(MD5Context *cx, PRBool freeit) ++{ ++ if (freeit) { ++ free(cx); ++ } ++} ++ ++void ++MD5_Begin(MD5Context *cx) ++{ ++ cx->lsbInput = 0; ++ cx->msbInput = 0; ++ memset(cx->inBuf, 0, sizeof(cx->inBuf)); ++ cx->cv[0] = CV0_1; ++ cx->cv[1] = CV0_2; ++ cx->cv[2] = CV0_3; ++ cx->cv[3] = CV0_4; ++} ++ ++#define cls(i32, s) (tmp = i32, tmp << s | tmp >> (32 - s)) ++ ++#define MASK 0x00ff00ff ++#ifdef IS_LITTLE_ENDIAN ++#define lendian(i32) \ ++ (i32) ++#else ++#define lendian(i32) \ ++ (tmp = i32 >> 16 | i32 << 16, (tmp & MASK) << 8 | tmp >> 8 & MASK) ++#endif ++ ++#if defined(SOLARIS) || defined(HPUX) ++#define addto64(sumhigh, sumlow, addend) \ ++ sumlow += addend; sumhigh += (sumlow < addend); ++#else ++#define addto64(sumhigh, sumlow, addend) \ ++ sumlow += addend; if (sumlow < addend) ++sumhigh; ++#endif ++ ++#define F(X, Y, Z) \ ++ ((X & Y) | ((~X) & Z)) ++ ++#define G(X, Y, Z) \ ++ ((X & Z) | (Y & (~Z))) ++ ++#define H(X, Y, Z) \ ++ (X ^ Y ^ Z) ++ ++#define I(X, Y, Z) \ ++ (Y ^ (X | (~Z))) ++ ++#define FF(a, b, c, d, bufint, s, ti) \ ++ a = b + cls(a + F(b, c, d) + bufint + ti, s) ++ ++#define GG(a, b, c, d, bufint, s, ti) \ ++ a = b + cls(a + G(b, c, d) + bufint + ti, s) ++ ++#define HH(a, b, c, d, bufint, s, ti) \ ++ a = b + cls(a + H(b, c, d) + bufint + ti, s) ++ ++#define II(a, b, c, d, bufint, s, ti) \ ++ a = b + cls(a + I(b, c, d) + bufint + ti, s) ++ ++static void ++md5_compress(MD5Context *cx) ++{ ++ PRUint32 a, b, c, d; ++ PRUint32 tmp; ++ a = cx->cv[0]; ++ b = cx->cv[1]; ++ c = cx->cv[2]; ++ d = cx->cv[3]; ++#ifndef IS_LITTLE_ENDIAN ++ cx->u.w[0] = lendian(cx->u.w[0]); ++ cx->u.w[1] = lendian(cx->u.w[1]); ++ cx->u.w[2] = lendian(cx->u.w[2]); ++ cx->u.w[3] = lendian(cx->u.w[3]); ++ cx->u.w[4] = lendian(cx->u.w[4]); ++ cx->u.w[5] = lendian(cx->u.w[5]); ++ cx->u.w[6] = lendian(cx->u.w[6]); ++ cx->u.w[7] = lendian(cx->u.w[7]); ++ cx->u.w[8] = lendian(cx->u.w[8]); ++ cx->u.w[9] = lendian(cx->u.w[9]); ++ cx->u.w[10] = lendian(cx->u.w[10]); ++ cx->u.w[11] = lendian(cx->u.w[11]); ++ cx->u.w[12] = lendian(cx->u.w[12]); ++ cx->u.w[13] = lendian(cx->u.w[13]); ++ cx->u.w[14] = lendian(cx->u.w[14]); ++ cx->u.w[15] = lendian(cx->u.w[15]); ++#endif ++ FF(a, b, c, d, cx->u.w[R1B0 ], S1_0, T1_0); ++ FF(d, a, b, c, cx->u.w[R1B1 ], S1_1, T1_1); ++ FF(c, d, a, b, cx->u.w[R1B2 ], S1_2, T1_2); ++ FF(b, c, d, a, cx->u.w[R1B3 ], S1_3, T1_3); ++ FF(a, b, c, d, cx->u.w[R1B4 ], S1_0, T1_4); ++ FF(d, a, b, c, cx->u.w[R1B5 ], S1_1, T1_5); ++ FF(c, d, a, b, cx->u.w[R1B6 ], S1_2, T1_6); ++ FF(b, c, d, a, cx->u.w[R1B7 ], S1_3, T1_7); ++ FF(a, b, c, d, cx->u.w[R1B8 ], S1_0, T1_8); ++ FF(d, a, b, c, cx->u.w[R1B9 ], S1_1, T1_9); ++ FF(c, d, a, b, cx->u.w[R1B10], S1_2, T1_10); ++ FF(b, c, d, a, cx->u.w[R1B11], S1_3, T1_11); ++ FF(a, b, c, d, cx->u.w[R1B12], S1_0, T1_12); ++ FF(d, a, b, c, cx->u.w[R1B13], S1_1, T1_13); ++ FF(c, d, a, b, cx->u.w[R1B14], S1_2, T1_14); ++ FF(b, c, d, a, cx->u.w[R1B15], S1_3, T1_15); ++ GG(a, b, c, d, cx->u.w[R2B0 ], S2_0, T2_0); ++ GG(d, a, b, c, cx->u.w[R2B1 ], S2_1, T2_1); ++ GG(c, d, a, b, cx->u.w[R2B2 ], S2_2, T2_2); ++ GG(b, c, d, a, cx->u.w[R2B3 ], S2_3, T2_3); ++ GG(a, b, c, d, cx->u.w[R2B4 ], S2_0, T2_4); ++ GG(d, a, b, c, cx->u.w[R2B5 ], S2_1, T2_5); ++ GG(c, d, a, b, cx->u.w[R2B6 ], S2_2, T2_6); ++ GG(b, c, d, a, cx->u.w[R2B7 ], S2_3, T2_7); ++ GG(a, b, c, d, cx->u.w[R2B8 ], S2_0, T2_8); ++ GG(d, a, b, c, cx->u.w[R2B9 ], S2_1, T2_9); ++ GG(c, d, a, b, cx->u.w[R2B10], S2_2, T2_10); ++ GG(b, c, d, a, cx->u.w[R2B11], S2_3, T2_11); ++ GG(a, b, c, d, cx->u.w[R2B12], S2_0, T2_12); ++ GG(d, a, b, c, cx->u.w[R2B13], S2_1, T2_13); ++ GG(c, d, a, b, cx->u.w[R2B14], S2_2, T2_14); ++ GG(b, c, d, a, cx->u.w[R2B15], S2_3, T2_15); ++ HH(a, b, c, d, cx->u.w[R3B0 ], S3_0, T3_0); ++ HH(d, a, b, c, cx->u.w[R3B1 ], S3_1, T3_1); ++ HH(c, d, a, b, cx->u.w[R3B2 ], S3_2, T3_2); ++ HH(b, c, d, a, cx->u.w[R3B3 ], S3_3, T3_3); ++ HH(a, b, c, d, cx->u.w[R3B4 ], S3_0, T3_4); ++ HH(d, a, b, c, cx->u.w[R3B5 ], S3_1, T3_5); ++ HH(c, d, a, b, cx->u.w[R3B6 ], S3_2, T3_6); ++ HH(b, c, d, a, cx->u.w[R3B7 ], S3_3, T3_7); ++ HH(a, b, c, d, cx->u.w[R3B8 ], S3_0, T3_8); ++ HH(d, a, b, c, cx->u.w[R3B9 ], S3_1, T3_9); ++ HH(c, d, a, b, cx->u.w[R3B10], S3_2, T3_10); ++ HH(b, c, d, a, cx->u.w[R3B11], S3_3, T3_11); ++ HH(a, b, c, d, cx->u.w[R3B12], S3_0, T3_12); ++ HH(d, a, b, c, cx->u.w[R3B13], S3_1, T3_13); ++ HH(c, d, a, b, cx->u.w[R3B14], S3_2, T3_14); ++ HH(b, c, d, a, cx->u.w[R3B15], S3_3, T3_15); ++ II(a, b, c, d, cx->u.w[R4B0 ], S4_0, T4_0); ++ II(d, a, b, c, cx->u.w[R4B1 ], S4_1, T4_1); ++ II(c, d, a, b, cx->u.w[R4B2 ], S4_2, T4_2); ++ II(b, c, d, a, cx->u.w[R4B3 ], S4_3, T4_3); ++ II(a, b, c, d, cx->u.w[R4B4 ], S4_0, T4_4); ++ II(d, a, b, c, cx->u.w[R4B5 ], S4_1, T4_5); ++ II(c, d, a, b, cx->u.w[R4B6 ], S4_2, T4_6); ++ II(b, c, d, a, cx->u.w[R4B7 ], S4_3, T4_7); ++ II(a, b, c, d, cx->u.w[R4B8 ], S4_0, T4_8); ++ II(d, a, b, c, cx->u.w[R4B9 ], S4_1, T4_9); ++ II(c, d, a, b, cx->u.w[R4B10], S4_2, T4_10); ++ II(b, c, d, a, cx->u.w[R4B11], S4_3, T4_11); ++ II(a, b, c, d, cx->u.w[R4B12], S4_0, T4_12); ++ II(d, a, b, c, cx->u.w[R4B13], S4_1, T4_13); ++ II(c, d, a, b, cx->u.w[R4B14], S4_2, T4_14); ++ II(b, c, d, a, cx->u.w[R4B15], S4_3, T4_15); ++ cx->cv[0] += a; ++ cx->cv[1] += b; ++ cx->cv[2] += c; ++ cx->cv[3] += d; ++} ++ ++void ++MD5_Update(MD5Context *cx, const unsigned char *input, unsigned int inputLen) ++{ ++ PRUint32 bytesToConsume; ++ PRUint32 inBufIndex = cx->lsbInput & 63; ++ ++ /* Add the number of input bytes to the 64-bit input counter. */ ++ addto64(cx->msbInput, cx->lsbInput, inputLen); ++ if (inBufIndex) { ++ /* There is already data in the buffer. Fill with input. */ ++ bytesToConsume = PR_MIN(inputLen, MD5_BUFFER_SIZE - inBufIndex); ++ memcpy(&cx->inBuf[inBufIndex], input, bytesToConsume); ++ if (inBufIndex + bytesToConsume >= MD5_BUFFER_SIZE) ++ /* The buffer is filled. Run the compression function. */ ++ md5_compress(cx); ++ /* Remaining input. */ ++ inputLen -= bytesToConsume; ++ input += bytesToConsume; ++ } ++ ++ /* Iterate over 64-byte chunks of the message. */ ++ while (inputLen >= MD5_BUFFER_SIZE) { ++ memcpy(cx->inBuf, input, MD5_BUFFER_SIZE); ++ md5_compress(cx); ++ inputLen -= MD5_BUFFER_SIZE; ++ input += MD5_BUFFER_SIZE; ++ } ++ ++ /* Tail of message (message bytes mod 64). */ ++ if (inputLen) ++ memcpy(cx->inBuf, input, inputLen); ++} ++ ++static const unsigned char padbytes[] = { ++ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ++}; ++ ++void ++MD5_End(MD5Context *cx, unsigned char *digest, ++ unsigned int *digestLen, unsigned int maxDigestLen) ++{ ++#ifndef IS_LITTLE_ENDIAN ++ PRUint32 tmp; ++#endif ++ PRUint32 lowInput, highInput; ++ PRUint32 inBufIndex = cx->lsbInput & 63; ++ ++ if (maxDigestLen < MD5_HASH_LEN) { ++// PORT_SetError(SEC_ERROR_INVALID_ARGS); ++ return; ++ } ++ ++ /* Copy out the length of bits input before padding. */ ++ lowInput = cx->lsbInput; ++ highInput = (cx->msbInput << 3) | (lowInput >> 29); ++ lowInput <<= 3; ++ ++ if (inBufIndex < MD5_END_BUFFER) { ++ MD5_Update(cx, padbytes, MD5_END_BUFFER - inBufIndex); ++ } else { ++ MD5_Update(cx, padbytes, ++ MD5_END_BUFFER + MD5_BUFFER_SIZE - inBufIndex); ++ } ++ ++ /* Store the number of bytes input (before padding) in final 64 bits. */ ++ cx->u.w[14] = lendian(lowInput); ++ cx->u.w[15] = lendian(highInput); ++ ++ /* Final call to compress. */ ++ md5_compress(cx); ++ ++ /* Copy the resulting values out of the chain variables into return buf. */ ++ *digestLen = MD5_HASH_LEN; ++#ifndef IS_LITTLE_ENDIAN ++ cx->cv[0] = lendian(cx->cv[0]); ++ cx->cv[1] = lendian(cx->cv[1]); ++ cx->cv[2] = lendian(cx->cv[2]); ++ cx->cv[3] = lendian(cx->cv[3]); ++#endif ++ memcpy(digest, cx->cv, MD5_HASH_LEN); ++} ++ ++unsigned int ++MD5_FlattenSize(MD5Context *cx) ++{ ++ return sizeof(*cx); ++} ++ ++int ++MD5_Flatten(MD5Context *cx, unsigned char *space) ++{ ++ memcpy(space, cx, sizeof(*cx)); ++ return 0; ++} ++ ++MD5Context * ++MD5_Resurrect(unsigned char *space, void *arg) ++{ ++ MD5Context *cx = MD5_NewContext(); ++ if (cx) ++ memcpy(cx, space, sizeof(*cx)); ++ return cx; ++} ++ ++void ++MD5_TraceState(MD5Context *cx) ++{ ++// PORT_SetError(PR_NOT_IMPLEMENTED_ERROR); ++} ++ ++int ++md5_stream (FILE *stream, unsigned char *dest) ++{ ++ /* Important: BLOCKSIZE must be a multiple of 64. */ ++#define BLOCKSIZE 4096 ++ unsigned int len; ++ MD5Context *cx = MD5_NewContext(); ++ if (cx == NULL) { ++// PORT_SetError(PR_OUT_OF_MEMORY_ERROR); ++ return -1; ++ } ++ ++ unsigned char buffer[BLOCKSIZE + 72]; ++ size_t sum; ++ ++ /* Initialize the computation context. */ ++ MD5_Begin(cx); ++ ++ /* Iterate over full file contents. */ ++ while (1) ++ { ++ /* We read the file in blocks of BLOCKSIZE bytes. One call of the ++ computation function processes the whole buffer so that with the ++ next round of the loop another block can be read. */ ++ size_t n; ++ sum = 0; ++ ++ /* Read block. Take care for partial reads. */ ++ do ++ { ++ n = fread (buffer + sum, 1, BLOCKSIZE - sum, stream); ++ ++ sum += n; ++ } ++ while (sum < BLOCKSIZE && n != 0); ++ if (n == 0 && ferror (stream)) ++ return 1; ++ ++ /* If end of file is reached, end the loop. */ ++ if (n == 0) ++ break; ++ ++ /* Process buffer with BLOCKSIZE bytes. Note that ++ BLOCKSIZE % 64 == 0 ++ */ ++ MD5_Update(cx, buffer, BLOCKSIZE); ++ } ++ ++ /* Add the last bytes if necessary. */ ++ if (sum > 0) ++ MD5_Update(cx, buffer, sum); ++ ++ MD5_End(cx, dest, &len, MD5_HASH_LEN); ++ MD5_DestroyContext(cx, PR_TRUE); ++ return len; ++ ++} ++ ++int getMD5sum(const char * fileName,char * sum) ++{ ++ unsigned char bin_sum[16]; ++ int len=0; ++ if (fileName) ++ { ++ FILE *fp=fopen(fileName,"rb"); ++ if (fp) ++ { ++ len=md5_stream(fp,bin_sum); ++ memset(sum,0,33); ++ for (int i = 0; i < len; ++i) ++ sprintf (sum,"%s%02x",sum, bin_sum[i]); ++ fclose(fp); ++ return 0; ++ } ++ } ++ return 1; ++} ++ ++int testMD5sum(const char * fileName,char * sum) ++{ ++ char newSum[33]=""; ++ if (getMD5sum(fileName,newSum)) ++ return 1; ++ return strcmp(newSum,sum); ++} +--- misc/mozilla/mailnews/addrbook/src/nsAbMDBCardProperty.cpp 2006-12-22 14:51:38.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbMDBCardProperty.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -273,8 +273,7 @@ + if (mCardDatabase) + { + mCardDatabase->EditCard(this, PR_TRUE); +- mCardDatabase->Commit(nsAddrDBCommitType::kLargeCommit); +- return NS_OK; ++ return mCardDatabase->Commit(nsAddrDBCommitType::kLargeCommit); + } + else + return NS_ERROR_FAILURE; +--- misc/mozilla/mailnews/addrbook/src/nsAbMDBDirectory.cpp 2008-01-29 20:31:58.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbMDBDirectory.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -561,7 +561,7 @@ + } + } + } +- mDatabase->Commit(nsAddrDBCommitType::kLargeCommit); ++ rv = mDatabase->Commit(nsAddrDBCommitType::kLargeCommit); + } + return rv; + } +@@ -707,6 +707,7 @@ + return NS_ERROR_NOT_IMPLEMENTED; + + nsresult rv = NS_OK; ++ + if (!mDatabase) + rv = GetAbDatabase(); + +@@ -736,10 +737,11 @@ + mDatabase->CreateNewListCardAndAddToDB(this, m_dbRowID, newCard, PR_TRUE /* notify */); + else + mDatabase->CreateNewCardAndAddToDB(newCard, PR_TRUE); +- mDatabase->Commit(nsAddrDBCommitType::kLargeCommit); ++ rv = mDatabase->Commit(nsAddrDBCommitType::kLargeCommit); + ++ NS_ENSURE_SUCCESS(rv, rv); + NS_IF_ADDREF(*addedCard = newCard); +- return NS_OK; ++ return rv; + } + + NS_IMETHODIMP nsAbMDBDirectory::DropCard(nsIAbCard* aCard, PRBool needToCopyCard) +--- misc/mozilla/mailnews/addrbook/src/nsAbOutlookCard.cpp 2004-07-31 20:04:18.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbOutlookCard.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -94,6 +94,7 @@ + { + index_DisplayName = 0, + index_EmailAddress, ++ index_SecondEmailAddress, + index_FirstName, + index_LastName, + index_NickName, +@@ -121,32 +122,34 @@ + + static const ULONG OutlookCardMAPIProps [] = + { +- PR_DISPLAY_NAME_W, +- PR_EMAIL_ADDRESS_W, +- PR_GIVEN_NAME_W, +- PR_SURNAME_W, +- PR_NICKNAME_W, +- PR_BUSINESS_TELEPHONE_NUMBER_W, +- PR_HOME_TELEPHONE_NUMBER_W, +- PR_BUSINESS_FAX_NUMBER_W, +- PR_PAGER_TELEPHONE_NUMBER_W, +- PR_MOBILE_TELEPHONE_NUMBER_W, +- PR_HOME_ADDRESS_CITY_W, +- PR_HOME_ADDRESS_STATE_OR_PROVINCE_W, +- PR_HOME_ADDRESS_POSTAL_CODE_W, +- PR_HOME_ADDRESS_COUNTRY_W, +- PR_BUSINESS_ADDRESS_CITY_W, +- PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE_W, +- PR_BUSINESS_ADDRESS_POSTAL_CODE_W, +- PR_BUSINESS_ADDRESS_COUNTRY_W, +- PR_TITLE_W, +- PR_DEPARTMENT_NAME_W, +- PR_COMPANY_NAME_W, +- PR_BUSINESS_HOME_PAGE_W, +- PR_PERSONAL_HOME_PAGE_W, +- PR_COMMENT_W ++ PR_DISPLAY_NAME_A,//0x8035001E ++ PR_EMAIL_ADDRESS_A,//0x8034001E ++ PR_SECOND_EMAIL_ADDRESS_A,//Second Email Address ++ PR_GIVEN_NAME_A, ++ PR_SURNAME_A, ++ PR_NICKNAME_A, ++ PR_BUSINESS_TELEPHONE_NUMBER_A, ++ PR_HOME_TELEPHONE_NUMBER_A, ++ PR_BUSINESS_FAX_NUMBER_A, ++ PR_PAGER_TELEPHONE_NUMBER_A, ++ PR_MOBILE_TELEPHONE_NUMBER_A, ++ PR_HOME_ADDRESS_CITY_A, ++ PR_HOME_ADDRESS_STATE_OR_PROVINCE_A, ++ PR_HOME_ADDRESS_POSTAL_CODE_A, ++ PR_HOME_ADDRESS_COUNTRY_A, ++ PR_BUSINESS_ADDRESS_CITY_A, ++ PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE_A, ++ PR_BUSINESS_ADDRESS_POSTAL_CODE_A, ++ PR_BUSINESS_ADDRESS_COUNTRY_A, ++ PR_TITLE_A, ++ PR_DEPARTMENT_NAME_A, ++ PR_COMPANY_NAME_A, ++ PR_BUSINESS_HOME_PAGE_A, ++ PR_PERSONAL_HOME_PAGE_A, ++ PR_COMMENT_A + } ; + ++ + nsresult nsAbOutlookCard::Init(const char *aUri) + { + nsresult retCode = nsRDFResource::Init(aUri) ; +@@ -173,6 +176,7 @@ + SetDisplayName(unichars [index_DisplayName]->get()) ; + SetNickName(unichars [index_NickName]->get()) ; + SetPrimaryEmail(unichars [index_EmailAddress]->get()) ; ++ SetSecondEmail(unichars [index_SecondEmailAddress]->get()) ; + SetWorkPhone(unichars [index_WorkPhoneNumber]->get()) ; + SetHomePhone(unichars [index_HomePhoneNumber]->get()) ; + SetFaxNumber(unichars [index_WorkFaxNumber]->get()) ; +@@ -207,12 +211,12 @@ + nsAutoString unichar ; + nsAutoString unicharBis ; + +- if (mapiAddBook->GetPropertyUString(*mMapiData, PR_HOME_ADDRESS_STREET_W, unichar)) { ++ if (mapiAddBook->GetPropertyUString(*mMapiData, PR_HOME_ADDRESS_STREET_A, unichar)) { + splitString(unichar, unicharBis) ; + SetHomeAddress(unichar.get()) ; + SetHomeAddress2(unicharBis.get()) ; + } +- if (mapiAddBook->GetPropertyUString(*mMapiData, PR_BUSINESS_ADDRESS_STREET_W, unichar)) { ++ if (mapiAddBook->GetPropertyUString(*mMapiData, PR_BUSINESS_ADDRESS_STREET_A, unichar)) { + splitString(unichar, unicharBis) ; + SetWorkAddress(unichar.get()) ; + SetWorkAddress2(unicharBis.get()) ; +@@ -290,6 +294,7 @@ + SetDisplayName(properties [index_DisplayName]) ; + GetNickName(getter_Copies(properties [index_NickName])) ; + GetPrimaryEmail(getter_Copies(properties [index_EmailAddress])) ; ++ GetSecondEmail(getter_Copies(properties [index_SecondEmailAddress])) ; + GetWorkPhone(getter_Copies(properties [index_WorkPhoneNumber])) ; + GetHomePhone(getter_Copies(properties [index_HomePhoneNumber])) ; + GetFaxNumber(getter_Copies(properties [index_WorkFaxNumber])) ; +@@ -309,9 +314,16 @@ + GetWebPage1(getter_Copies(properties [index_WorkWebPage])) ; + GetWebPage2(getter_Copies(properties [index_HomeWebPage])) ; + GetNotes(getter_Copies(properties [index_Comments])) ; +- if (!mapiAddBook->SetPropertiesUString(*mMapiData, OutlookCardMAPIProps, +- index_LastProp, properties)) { +- PRINTF(("Cannot set general properties.\n")) ; ++ ++ int i=0; ++ for (i=0;i<index_LastProp;i++) ++ { ++ if (!mapiAddBook->SetPropertyUString(*mMapiData, ++ OutlookCardMAPIProps[i], ++ properties[i])) ++ { ++ PRINTF(("Cannot set properties:%d.\n",OutlookCardMAPIProps[i])) ; ++ } + } + delete [] properties ; + nsXPIDLString unichar ; +--- misc/mozilla/mailnews/addrbook/src/nsAbOutlookDirFactory.cpp 2004-04-17 20:32:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbOutlookDirFactory.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -124,8 +124,8 @@ + nsCAutoString uri ; + nsCOMPtr<nsIRDFResource> resource ; + +- for (ULONG i = 0 ; i < folders.mNbEntries ; ++ i) { +- folders.mEntries [i].ToString(entryId) ; ++ for (ULONG i = 0 ; i < folders.GetSize() ; ++ i) { ++ folders[i].ToString(entryId) ; + buildAbWinUri(kOutlookDirectoryScheme, abType, uri) ; + uri.Append(entryId) ; + +--- misc/mozilla/mailnews/addrbook/src/nsAbOutlookDirectory.cpp 2006-12-22 14:51:38.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbOutlookDirectory.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -126,7 +126,7 @@ + PRINTF(("Cannot get type.\n")) ; + return NS_ERROR_FAILURE ; + } +- if (!mapiAddBook->GetPropertyUString(*mMapiData, PR_DISPLAY_NAME_W, unichars)) { ++ if (!mapiAddBook->GetPropertyUString(*mMapiData, PR_DISPLAY_NAME_A, unichars)) { + PRINTF(("Cannot get name.\n")) ; + return NS_ERROR_FAILURE ; + } +@@ -163,45 +163,85 @@ + return retCode; + } + ++nsresult nsAbOutlookDirectory::BuildCardFromURI(const nsCString& uriName,nsIAbCard **aNewCard, ++ PRBool aSearchForOld, PRBool& aIsNewCard) ++{ ++ nsresult retCode = NS_OK ; ++ if (aSearchForOld) { ++ nsCStringKey key(uriName) ; ++ nsCOMPtr<nsISupports> existingCard = mCardList.Get(&key) ; ++ ++ if (existingCard) { ++ nsCOMPtr<nsIAbCard> card(do_QueryInterface(existingCard, &retCode)) ; ++ ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ NS_IF_ADDREF(*aNewCard = card) ; ++ aIsNewCard = PR_FALSE ; ++ return retCode ; ++ } ++ } ++ aIsNewCard = PR_TRUE ; ++ nsCOMPtr<nsIRDFResource> resource ; ++ ++ nsCOMPtr<nsIAbCard> childCard = do_CreateInstance(NS_ABOUTLOOKCARD_CONTRACTID, &retCode); ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ resource = do_QueryInterface(childCard, &retCode) ; ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ retCode = resource->Init(uriName.get()) ; ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ NS_IF_ADDREF(*aNewCard = childCard); ++ return retCode ; ++} ++ + NS_IMETHODIMP nsAbOutlookDirectory::GetChildCards(nsIEnumerator **aCards) + { + if (!aCards) { return NS_ERROR_NULL_POINTER ; } + *aCards = nsnull ; + nsCOMPtr<nsISupportsArray> cardList ; ++ nsCStringArray uriList ; ++ nsAbWinHelperGuard mapiAddBook (mAbWinType) ; + nsresult retCode ; + +- mCardList.Reset() ; + if (mIsQueryURI) { + retCode = StartSearch() ; +- NS_NewISupportsArray(getter_AddRefs(cardList)) ; + } + else { +- retCode = GetChildCards(getter_AddRefs(cardList), nsnull) ; ++ retCode = GetChildCards(uriList, nsnull) ; + } ++ NS_NewISupportsArray(getter_AddRefs(cardList)) ; + if (NS_SUCCEEDED(retCode)) { + // Fill the results array and update the card list + // Also update the address list and notify any changes. + PRUint32 nbCards = 0 ; +- nsCOMPtr<nsISupports> element ; ++ nsCAutoString uriName; ++ nsCOMPtr <nsIAbCard> childCard; ++ PRBool searchForOldCards = 0; //(mCardList.Count() != 0) ; ++ ++ nbCards = uriList.Count(); ++ NS_NewISupportsArray(getter_AddRefs(m_AddressList)); + +- cardList->Enumerate(aCards) ; +- cardList->Count(&nbCards) ; + for (PRUint32 i = 0 ; i < nbCards ; ++ i) { +- cardList->GetElementAt(i, getter_AddRefs(element)) ; +- nsVoidKey newKey (NS_STATIC_CAST(void *, element)) ; +- nsCOMPtr<nsISupports> oldElement = mCardList.Get(&newKey) ; ++ PRBool isNewCard = PR_FALSE ; + +- if (!oldElement) { ++ uriList.CStringAt(i,uriName); ++ retCode = BuildCardFromURI(uriName,getter_AddRefs(childCard), searchForOldCards, isNewCard); ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ cardList->AppendElement(childCard); ++ ++ if (isNewCard) { + // We are dealing with a new element (probably directly + // added from Outlook), we may need to sync m_AddressList +- mCardList.Put(&newKey, element) ; +- nsCOMPtr<nsIAbCard> card (do_QueryInterface(element, &retCode)) ; ++ nsCStringKey newKey(uriName) ; ++ ++ mCardList.Put(&newKey, childCard) ; ++ nsCOMPtr<nsIAbCard> card (do_QueryInterface(childCard, &retCode)) ; + + NS_ENSURE_SUCCESS(retCode, retCode) ; + PRBool isMailList = PR_FALSE ; + + retCode = card->GetIsMailList(&isMailList) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; ++ + if (isMailList) { + // We can have mailing lists only in folder, + // we must add the directory to m_AddressList +@@ -224,18 +264,33 @@ + NotifyItemAddition(card) ; + } + } +- else { +- NS_ASSERTION(oldElement == element, "Different card stored") ; + } + } ++ return cardList->Enumerate(aCards) ; + } ++ ++static nsresult ExtractUriFromCard(nsIAbCard *aCard, nsCString& aUri) { ++ nsresult retCode = NS_OK ; ++ nsCOMPtr<nsIRDFResource> resource (do_QueryInterface(aCard, &retCode)) ; ++ ++ // Receiving a non-RDF card is accepted ++ if (NS_FAILED(retCode)) { return NS_OK ; } ++ nsXPIDLCString uri ; ++ ++ retCode = resource->GetValue(getter_Copies(uri)) ; ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ aUri = uri.get() ; + return retCode ; + } + + NS_IMETHODIMP nsAbOutlookDirectory::HasCard(nsIAbCard *aCard, PRBool *aHasCard) + { + if (!aCard || !aHasCard) { return NS_ERROR_NULL_POINTER ; } +- nsVoidKey key (NS_STATIC_CAST(void *, aCard)) ; ++ *aHasCard = PR_FALSE ; ++ nsCString uri ; ++ ++ ExtractUriFromCard(aCard, uri) ; ++ nsCStringKey key(uri) ; + + *aHasCard = mCardList.Exists(&key) ; + return NS_OK ; +@@ -317,7 +372,10 @@ + PRINTF(("Cannot delete card %s.\n", entryString.get())) ; + } + else { +- nsVoidKey key (NS_STATIC_CAST(void *, element)) ; ++ nsCString uri ; ++ ++ ExtractUriFromCard(card, uri) ; ++ nsCStringKey key(uri) ; + + mCardList.Remove(&key) ; + if (m_IsMailList) { m_AddressList->RemoveElement(element) ; } +@@ -386,7 +444,10 @@ + } + retCode = CreateCard(aData, addedCard) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; +- nsVoidKey newKey (NS_STATIC_CAST(void *, *addedCard)) ; ++ nsCString uri ; ++ ++ ExtractUriFromCard(*addedCard, uri) ; ++ nsCStringKey newKey(uri) ; + + mCardList.Put(&newKey, *addedCard) ; + if (m_IsMailList) { m_AddressList->AppendElement(*addedCard) ; } +@@ -457,7 +518,7 @@ + if (!mapiAddBook->IsOK()) { return NS_ERROR_FAILURE ; } + retCode = GetDirName(getter_Copies(name)) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; +- if (!mapiAddBook->SetPropertyUString(*mMapiData, PR_DISPLAY_NAME_W, name.get())) { ++ if (!mapiAddBook->SetPropertyUString(*mMapiData, PR_DISPLAY_NAME_A, name.get())) { + return NS_ERROR_FAILURE ; + } + retCode = CommitAddressList() ; +@@ -518,6 +579,7 @@ + {"DisplayName", PR_DISPLAY_NAME_A}, + {"NickName", PR_NICKNAME_A}, + {"PrimaryEmail", PR_EMAIL_ADDRESS_A}, ++ {"SecondEmail",PR_SECOND_EMAIL_ADDRESS_A}, + {"WorkPhone", PR_BUSINESS_TELEPHONE_NUMBER_A}, + {"HomePhone", PR_HOME_TELEPHONE_NUMBER_A}, + {"FaxNumber", PR_BUSINESS_FAX_NUMBER_A}, +@@ -1027,7 +1089,10 @@ + + nsresult nsAbOutlookDirectory::OnSearchFoundCard(nsIAbCard *aCard) + { +- nsVoidKey newKey (NS_STATIC_CAST(void *, aCard)) ; ++ nsCString uri ; ++ ++ ExtractUriFromCard(aCard, uri) ; ++ nsCStringKey newKey(uri) ; + nsresult retCode = NS_OK ; + + mCardList.Put(&newKey, aCard) ; +@@ -1051,14 +1116,14 @@ + retCode = BuildRestriction(aArguments, arguments) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; + nsCOMPtr<nsISupportsArray> resultsArray ; ++ nsCStringArray uriArray ; + PRUint32 nbResults = 0 ; + +- retCode = GetChildCards(getter_AddRefs(resultsArray), ++ retCode = GetChildCards(uriArray, + arguments.rt == RES_COMMENT ? nsnull : &arguments) ; + DestroyRestriction(arguments) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; +- retCode = resultsArray->Count(&nbResults) ; +- NS_ENSURE_SUCCESS(retCode, retCode) ; ++ nbResults = uriArray.Count() ; + nsCOMPtr<nsIAbDirectoryQueryResult> result ; + nsAbDirectoryQueryResult *newResult = nsnull ; + +@@ -1066,15 +1131,18 @@ + nbResults = NS_STATIC_CAST(PRUint32, aResultLimit) ; + } + PRUint32 i = 0 ; +- nsCOMPtr<nsISupports> element ; + nsCOMPtr<nsISupportsArray> propertyValues ; + ++ nsCAutoString uriName; ++ nsCOMPtr <nsIAbCard> card; ++ + for (i = 0 ; i < nbResults ; ++ i) { +- retCode = resultsArray->GetElementAt(i, getter_AddRefs(element)) ; +- NS_ENSURE_SUCCESS(retCode, retCode) ; +- nsCOMPtr<nsIAbCard> card (do_QueryInterface(element, &retCode)) ; ++ PRBool isNewCard = PR_FALSE ; + ++ uriArray.CStringAt(i,uriName); ++ retCode = BuildCardFromURI(uriName,getter_AddRefs(card), PR_FALSE, isNewCard); + NS_ENSURE_SUCCESS(retCode, retCode) ; ++ + FillPropertyValues(card, aArguments, getter_AddRefs(propertyValues)) ; + newResult = new nsAbDirectoryQueryResult(0, aArguments, + nsIAbDirectoryQueryResult::queryResultMatch, +@@ -1099,13 +1167,43 @@ + if (!aCards) { return NS_ERROR_NULL_POINTER ; } + *aCards = nsnull ; + nsresult retCode = NS_OK ; +- nsCOMPtr<nsISupportsArray> cards ; ++ ++ nsCOMPtr<nsISupportsArray> cards; ++ retCode = NS_NewISupportsArray(getter_AddRefs(cards)); ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ ++ nsCStringArray uriList; ++ retCode = GetChildCards(uriList,aRestriction); ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ ++ nsCAutoString uriName; ++ nsCOMPtr <nsIAbCard> childCard; ++ PRUint32 nbURIs = 0 ; ++ nbURIs = uriList.Count(); ++ PRUint32 i = 0 ; ++ ++ for (i = 0 ; i < nbURIs ; ++ i) { ++ PRBool isNewCard = PR_FALSE ; ++ ++ uriList.CStringAt(i,uriName); ++ retCode = BuildCardFromURI(uriName,getter_AddRefs(childCard), PR_TRUE, isNewCard); ++ NS_ENSURE_SUCCESS(retCode, retCode) ; ++ cards->AppendElement(childCard); ++ } ++ ++ NS_IF_ADDREF(*aCards = cards); ++ return retCode ; ++} ++ ++nsresult nsAbOutlookDirectory::GetChildCards(nsCStringArray& aURI, ++ void *aRestriction) ++{ ++ nsresult retCode = NS_OK ; + nsAbWinHelperGuard mapiAddBook (mAbWinType) ; + nsMapiEntryArray cardEntries ; + LPSRestriction restriction = (LPSRestriction) aRestriction ; + + if (!mapiAddBook->IsOK()) { return NS_ERROR_FAILURE ; } +- retCode = NS_NewISupportsArray(getter_AddRefs(cards)) ; + NS_ENSURE_SUCCESS(retCode, retCode) ; + if (!mapiAddBook->GetCards(*mMapiData, restriction, cardEntries)) { + PRINTF(("Cannot get cards.\n")) ; +@@ -1114,22 +1212,14 @@ + nsCAutoString entryId ; + nsCAutoString uriName ; + nsCOMPtr<nsIRDFResource> resource ; +- nsCOMPtr <nsIAbCard> childCard; +- +- for (ULONG card = 0 ; card < cardEntries.mNbEntries ; ++ card) { +- cardEntries.mEntries [card].ToString(entryId) ; ++ aURI.Clear(); ++ ++ for (ULONG card = 0 ; card < cardEntries.GetSize() ; ++ card) { ++ cardEntries [card].ToString(entryId) ; + buildAbWinUri(kOutlookCardScheme, mAbWinType, uriName) ; + uriName.Append(entryId) ; +- childCard = do_CreateInstance(NS_ABOUTLOOKCARD_CONTRACTID, &retCode); +- NS_ENSURE_SUCCESS(retCode, retCode) ; +- resource = do_QueryInterface(childCard, &retCode) ; +- NS_ENSURE_SUCCESS(retCode, retCode) ; +- retCode = resource->Init(uriName.get()) ; +- NS_ENSURE_SUCCESS(retCode, retCode) ; +- cards->AppendElement(childCard) ; ++ aURI.AppendCString(uriName); + } +- *aCards = cards ; +- NS_ADDREF(*aCards) ; + return retCode ; + } + +@@ -1153,8 +1243,8 @@ + nsCAutoString uriName ; + nsCOMPtr <nsIRDFResource> resource ; + +- for (ULONG node = 0 ; node < nodeEntries.mNbEntries ; ++ node) { +- nodeEntries.mEntries [node].ToString(entryId) ; ++ for (ULONG node = 0 ; node < nodeEntries.GetSize() ; ++ node) { ++ nodeEntries [node].ToString(entryId) ; + buildAbWinUri(kOutlookDirectoryScheme, mAbWinType, uriName) ; + uriName.Append(entryId) ; + retCode = gRDFService->GetResource(uriName, getter_AddRefs(resource)) ; +@@ -1275,7 +1365,7 @@ + // In the case of a mailing list, we cannot directly create a new card, + // we have to create a temporary one in a real folder (to be able to use + // templates) and then copy it to the mailing list. +- if (m_IsMailList) { ++ if (m_IsMailList && mAbWinType == nsAbWinType_OutlookExp) { + nsMapiEntry parentEntry ; + nsMapiEntry temporaryEntry ; + +--- misc/mozilla/mailnews/addrbook/src/nsAbOutlookDirectory.h 2004-04-17 20:32:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbOutlookDirectory.h 2008-08-14 16:22:21.000000000 +0200 +@@ -46,6 +46,7 @@ + #include "nsHashtable.h" + + #include "nsISupportsArray.h" ++#include "nsVoidArray.h" + + struct nsMapiEntry ; + +@@ -92,6 +93,8 @@ + protected: + // Retrieve hierarchy as cards, with an optional restriction + nsresult GetChildCards(nsISupportsArray **aCards, void *aRestriction) ; ++ // Retrieve hierarchy as URIs, with an optional restriction ++ nsresult GetChildCards(nsCStringArray& aURI, void *aRestriction) ; + // Retrieve hierarchy as directories + nsresult GetChildNodes(nsISupportsArray **aNodes) ; + // Create a new card +@@ -103,6 +106,9 @@ + nsresult CommitAddressList(void) ; + // Read MAPI repository + nsresult UpdateAddressList(void) ; ++ // Search for an existing card or build a new one ++ nsresult BuildCardFromURI(const nsCString& uriName,nsIAbCard **aNewCard, ++ PRBool aSearchForOld, PRBool& aIsNewCard) ; + + nsMapiEntry *mMapiData ; + // Container for the query threads +--- misc/mozilla/mailnews/addrbook/src/nsAbWinHelper.cpp 2005-05-07 08:11:28.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbWinHelper.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -42,6 +42,9 @@ + #define USES_IID_IABContainer + #define USES_IID_IMAPITable + #define USES_IID_IDistList ++#define USES_IID_IMsgStore ++#define USES_IID_IMessage ++#define USES_IID_IMAPIFolder + + #include "nsAbWinHelper.h" + #include "nsMapiAddressBook.h" +@@ -59,19 +62,6 @@ + + #define PRINTF(args) PR_LOG(gAbWinHelperLog, PR_LOG_DEBUG, args) + +-// Small utility to ensure release of all MAPI interfaces +-template <class tInterface> struct nsMapiInterfaceWrapper +-{ +- tInterface mInterface ; +- +- nsMapiInterfaceWrapper(void) : mInterface(NULL) {} +- ~nsMapiInterfaceWrapper(void) { +- if (mInterface != NULL) { mInterface->Release() ; } +- } +- operator LPUNKNOWN *(void) { return NS_REINTERPRET_CAST(LPUNKNOWN *, &mInterface) ; } +- tInterface operator -> (void) const { return mInterface ; } +- operator tInterface *(void) { return &mInterface ; } +-} ; + + static void assignEntryID(LPENTRYID& aTarget, LPENTRYID aSource, ULONG aByteCount) + { +@@ -249,24 +239,28 @@ + MOZ_DECL_CTOR_COUNTER(nsMapiEntryArray) + + nsMapiEntryArray::nsMapiEntryArray(void) +-: mEntries(NULL), mNbEntries(0) + { + MOZ_COUNT_CTOR(nsMapiEntryArray) ; + } + + nsMapiEntryArray::~nsMapiEntryArray(void) + { +- if (mEntries) { delete [] mEntries ; } ++ CleanUp(); + MOZ_COUNT_DTOR(nsMapiEntryArray) ; + } +- ++void nsMapiEntryArray::AddItem(nsMapiEntry * aEntries) ++{ ++ m_array.AppendElement(aEntries); ++} + void nsMapiEntryArray::CleanUp(void) + { +- if (mEntries != NULL) { +- delete [] mEntries ; +- mEntries = NULL ; +- mNbEntries = 0 ; ++ nsMapiEntry *pEntries; ++ for (int i = 0; i < m_array.Count(); i++) ++ { ++ pEntries = (nsMapiEntry *)m_array.ElementAt( i); ++ delete pEntries; + } ++ m_array.Clear(); + } + + MOZ_DECL_CTOR_COUNTER(nsAbWinHelper) +@@ -280,100 +274,55 @@ + // same protection (MAPI is supposed to be thread-safe). + PRLock *nsAbWinHelper::mMutex = PR_NewLock() ; + ++int nsAbWinHelper::m_clients = 0; ++ ++PRUnichar * nsAbWinHelper::m_pUniBuff = NULL; ++int nsAbWinHelper::m_uniBuffLen = 0; ++char * nsAbWinHelper::m_pCStrBuff = NULL; ++int nsAbWinHelper::m_cstrBuffLen = 0; ++ + nsAbWinHelper::nsAbWinHelper(void) +-: mAddressBook(NULL), mLastError(S_OK) ++:mLastError(S_OK) + { + MOZ_COUNT_CTOR(nsAbWinHelper) ; ++ m_clients++; + } + + nsAbWinHelper::~nsAbWinHelper(void) + { + MOZ_COUNT_DTOR(nsAbWinHelper) ; +-} +- +-BOOL nsAbWinHelper::GetFolders(nsMapiEntryArray& aFolders) ++ m_clients--; ++ if (!m_clients) + { +- aFolders.CleanUp() ; +- nsMapiInterfaceWrapper<LPABCONT> rootFolder ; +- nsMapiInterfaceWrapper<LPMAPITABLE> folders ; +- ULONG objType = 0 ; +- ULONG rowCount = 0 ; +- SRestriction restriction ; +- SPropTagArray folderColumns ; +- +- mLastError = mAddressBook->OpenEntry(0, NULL, NULL, 0, &objType, +- rootFolder) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot open root %08x.\n", mLastError)) ; +- return FALSE ; ++ delete [] m_pUniBuff; ++ m_pUniBuff = NULL; ++ m_uniBuffLen = 0; ++ delete [] m_pCStrBuff; ++ m_pCStrBuff = NULL; ++ m_cstrBuffLen = 0; + } +- mLastError = rootFolder->GetHierarchyTable(0, folders) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot get hierarchy %08x.\n", mLastError)) ; +- return FALSE ; + } +- // We only take into account modifiable containers, +- // otherwise, we end up with all the directory services... +- restriction.rt = RES_BITMASK ; +- restriction.res.resBitMask.ulPropTag = PR_CONTAINER_FLAGS ; +- restriction.res.resBitMask.relBMR = BMR_NEZ ; +- restriction.res.resBitMask.ulMask = AB_MODIFIABLE ; +- mLastError = folders->Restrict(&restriction, 0) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot restrict table %08x.\n", mLastError)) ; +- } +- folderColumns.cValues = 1 ; +- folderColumns.aulPropTag [0] = PR_ENTRYID ; +- mLastError = folders->SetColumns(&folderColumns, 0) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot set columns %08x.\n", mLastError)) ; +- return FALSE ; +- } +- mLastError = folders->GetRowCount(0, &rowCount) ; +- if (HR_SUCCEEDED(mLastError)) { +- aFolders.mEntries = new nsMapiEntry [rowCount] ; +- aFolders.mNbEntries = 0 ; +- do { +- LPSRowSet rowSet = NULL ; +- +- rowCount = 0 ; +- mLastError = folders->QueryRows(1, 0, &rowSet) ; +- if (HR_SUCCEEDED(mLastError)) { +- rowCount = rowSet->cRows ; +- if (rowCount > 0) { +- nsMapiEntry& current = aFolders.mEntries [aFolders.mNbEntries ++] ; +- SPropValue& currentValue = rowSet->aRow->lpProps [0] ; +- +- current.Assign(currentValue.Value.bin.cb, +- NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; +- } +- MyFreeProws(rowSet) ; +- } +- else { +- PRINTF(("Cannot query rows %08x.\n", mLastError)) ; +- } +- } while (rowCount > 0) ; +- } +- return HR_SUCCEEDED(mLastError) ; +-} ++ + + BOOL nsAbWinHelper::GetCards(const nsMapiEntry& aParent, LPSRestriction aRestriction, + nsMapiEntryArray& aCards) + { + aCards.CleanUp() ; +- return GetContents(aParent, aRestriction, &aCards.mEntries, aCards.mNbEntries, 0) ; ++ return GetContents(aParent, aRestriction, &aCards, 0) ; + } + + BOOL nsAbWinHelper::GetNodes(const nsMapiEntry& aParent, nsMapiEntryArray& aNodes) + { + aNodes.CleanUp() ; +- return GetContents(aParent, NULL, &aNodes.mEntries, aNodes.mNbEntries, MAPI_DISTLIST) ; ++ return GetContents(aParent, NULL, &aNodes, MAPI_DISTLIST) ; + } + + BOOL nsAbWinHelper::GetCardsCount(const nsMapiEntry& aParent, ULONG& aNbCards) + { +- aNbCards = 0 ; +- return GetContents(aParent, NULL, NULL, aNbCards, 0) ; ++ nsMapiEntryArray aCards; ++ BOOL ret=GetContents(aParent, NULL, &aCards, 0) ; ++ aNbCards=aCards.GetSize(); ++ return ret; + } + + BOOL nsAbWinHelper::GetPropertyString(const nsMapiEntry& aObject, +@@ -390,7 +339,7 @@ + aName = values->Value.lpszA ; + } + else if (PROP_TYPE(values->ulPropTag) == PT_UNICODE) { +- aName.AssignWithConversion(values->Value.lpszW) ; ++ UnicodeToCStr(values->Value.lpszW,aName) ; + } + } + FreeBuffer(values) ; +@@ -410,7 +359,7 @@ + aName = values->Value.lpszW ; + } + else if (PROP_TYPE(values->ulPropTag) == PT_STRING8) { +- aName.AssignWithConversion(values->Value.lpszA) ; ++ CStrToUnicode(values->Value.lpszA,aName) ; + } + } + FreeBuffer(values) ; +@@ -431,16 +380,22 @@ + ULONG i = 0 ; + + for (i = 0 ; i < valueCount ; ++ i) { +- if (PROP_ID(values [i].ulPropTag) == PROP_ID(aPropertyTags [i])) { ++ if (PROP_TYPE( values [i].ulPropTag) != PT_ERROR && values [i].Value.l != MAPI_E_NOT_FOUND){ + if (PROP_TYPE(values [i].ulPropTag) == PT_STRING8) { + nsAutoString temp ; + +- temp.AssignWithConversion (values [i].Value.lpszA) ; ++ CStrToUnicode(values [i].Value.lpszA,temp) ; + aNames.AppendString(temp) ; + } + else if (PROP_TYPE(values [i].ulPropTag) == PT_UNICODE) { + aNames.AppendString(nsAutoString (values [i].Value.lpszW)) ; + } ++ else if (aPropertyTags [i] == PR_EMAIL_ADDRESS_A) { ++ nsAutoString temp ; ++ ++ CStrToUnicode (values [i].Value.lpszA,temp) ; ++ aNames.AppendString(temp) ; ++ } + else { + aNames.AppendString(nsAutoString((const PRUnichar *) "")) ; + } +@@ -466,7 +421,6 @@ + if (!GetMAPIProperties(aObject, &aPropertyTag, 1, values, valueCount)) { return FALSE ; } + if (valueCount == 1 && values != NULL && PROP_TYPE(values->ulPropTag) == PT_SYSTIME) { + SYSTEMTIME readableTime ; +- + if (FileTimeToSystemTime(&values->Value.ft, &readableTime)) { + aYear = readableTime.wYear ; + aMonth = readableTime.wMonth ; +@@ -518,7 +472,7 @@ + nsMapiInterfaceWrapper<LPMAPIPROP> subObject ; + ULONG objType = 0 ; + +- mLastError = mAddressBook->OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, + &IID_IMAPIContainer, 0, &objType, + container) ; + if (HR_FAILED(mLastError)) { +@@ -537,7 +491,7 @@ + SBinary entry ; + SBinaryArray entryArray ; + +- mLastError = mAddressBook->OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, + &IID_IABContainer, MAPI_MODIFY, &objType, + container) ; + if (HR_FAILED(mLastError)) { +@@ -567,14 +521,15 @@ + value.Value.lpszW = NS_CONST_CAST(WCHAR *, aValue) ; + } + else if (PROP_TYPE(aPropertyTag) == PT_STRING8) { +- alternativeValue.AssignWithConversion(aValue) ; ++ UnicodeToCStr(aValue,alternativeValue) ; + value.Value.lpszA = NS_CONST_CAST(char *, alternativeValue.get()) ; + } + else { + PRINTF(("Property %08x is not a string.\n", aPropertyTag)) ; + return TRUE ; + } +- return SetMAPIProperties(aObject, 1, &value) ; ++ LPSPropValue values=&value; ++ return SetMAPIProperties(aObject, 1, values) ; + } + + BOOL nsAbWinHelper::SetPropertiesUString(const nsMapiEntry& aObject, const ULONG *aPropertiesTag, +@@ -595,7 +550,7 @@ + values [currentValue ++].Value.lpszW = NS_CONST_CAST(WCHAR *, aValues [i].get()) ; + } + else if (PROP_TYPE(aPropertiesTag [i]) == PT_STRING8) { +- alternativeValue.AssignWithConversion(aValues [i].get()) ; ++ UnicodeToCStr(aValues [i].get(),alternativeValue) ; + char *av = nsCRT::strdup(alternativeValue.get()) ; + if (!av) { + retCode = FALSE ; +@@ -633,7 +588,8 @@ + readableTime.wSecond = 0 ; + readableTime.wMilliseconds = 0 ; + if (SystemTimeToFileTime(&readableTime, &value.Value.ft)) { +- return SetMAPIProperties(aObject, 1, &value) ; ++ LPSPropValue values=&value; ++ return SetMAPIProperties(aObject, 1, values) ; + } + return TRUE ; + } +@@ -645,7 +601,7 @@ + nsMapiInterfaceWrapper<LPABCONT> container ; + ULONG objType = 0 ; + +- mLastError = mAddressBook->OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, + &IID_IABContainer, MAPI_MODIFY, &objType, + container) ; + if (HR_FAILED(mLastError)) { +@@ -708,7 +664,7 @@ + nsMapiInterfaceWrapper<LPABCONT> container ; + ULONG objType = 0 ; + +- mLastError = mAddressBook->OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, + &IID_IABContainer, MAPI_MODIFY, &objType, + container) ; + if (HR_FAILED(mLastError)) { +@@ -773,7 +729,7 @@ + nsMapiInterfaceWrapper<LPABCONT> container ; + ULONG objType = 0 ; + +- mLastError = mAddressBook->OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, + &IID_IABContainer, MAPI_MODIFY, &objType, + container) ; + if (HR_FAILED(mLastError)) { +@@ -810,194 +766,77 @@ + return TRUE ; + } + +-BOOL nsAbWinHelper::GetDefaultContainer(nsMapiEntry& aContainer) +-{ +- LPENTRYID entryId = NULL ; +- ULONG byteCount = 0 ; +- +- mLastError = mAddressBook->GetPAB(&byteCount, &entryId) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot get PAB %08x.\n", mLastError)) ; +- return FALSE ; +- } +- aContainer.Assign(byteCount, entryId) ; +- FreeBuffer(entryId) ; +- return TRUE ; +-} + +-enum +-{ +- ContentsColumnEntryId = 0, +- ContentsColumnObjectType, +- ContentsColumnsSize +-} ; + +-static const SizedSPropTagArray(ContentsColumnsSize, ContentsColumns) = +-{ +- ContentsColumnsSize, +- { +- PR_ENTRYID, +- PR_OBJECT_TYPE +- } +-} ; + +-BOOL nsAbWinHelper::GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, +- nsMapiEntry **aList, ULONG& aNbElements, ULONG aMapiType) ++void nsAbWinHelper::MyFreeProws(LPSRowSet aRowset) + { +- if (aList != NULL) { *aList = NULL ; } +- aNbElements = 0 ; +- nsMapiInterfaceWrapper<LPMAPICONTAINER> parent ; +- nsMapiInterfaceWrapper<LPMAPITABLE> contents ; +- ULONG objType = 0 ; +- ULONG rowCount = 0 ; ++ if (aRowset == NULL) { return ; } ++ ULONG i = 0 ; + +- mLastError = mAddressBook->OpenEntry(aParent.mByteCount, aParent.mEntryId, +- &IID_IMAPIContainer, 0, &objType, +- parent) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot open parent %08x.\n", mLastError)) ; +- return FALSE ; +- } +- // Here, flags for WAB and MAPI could be different, so this works +- // only as long as we don't want to use any flag in GetContentsTable +- mLastError = parent->GetContentsTable(0, contents) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot get contents %08x.\n", mLastError)) ; +- return FALSE ; ++ for (i = 0 ; i < aRowset->cRows ; ++ i) { ++ FreeBuffer(aRowset->aRow [i].lpProps) ; + } +- if (aRestriction != NULL) { +- mLastError = contents->Restrict(aRestriction, 0) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot set restriction %08x.\n", mLastError)) ; +- return FALSE ; +- } +- } +- mLastError = contents->SetColumns((LPSPropTagArray) &ContentsColumns, 0) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot set columns %08x.\n", mLastError)) ; +- return FALSE ; +- } +- mLastError = contents->GetRowCount(0, &rowCount) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot get result count %08x.\n", mLastError)) ; +- return FALSE ; +- } +- if (aList != NULL) { *aList = new nsMapiEntry [rowCount] ; } +- aNbElements = 0 ; +- do { +- LPSRowSet rowSet = NULL ; +- +- rowCount = 0 ; +- mLastError = contents->QueryRows(1, 0, &rowSet) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot query rows %08x.\n", mLastError)) ; +- return FALSE ; +- } +- rowCount = rowSet->cRows ; +- if (rowCount > 0 && +- (aMapiType == 0 || +- rowSet->aRow->lpProps[ContentsColumnObjectType].Value.ul == aMapiType)) { +- if (aList != NULL) { +- nsMapiEntry& current = (*aList) [aNbElements] ; +- SPropValue& currentValue = rowSet->aRow->lpProps[ContentsColumnEntryId] ; +- +- current.Assign(currentValue.Value.bin.cb, +- NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; ++ FreeBuffer(aRowset) ; ++ } ++void nsAbWinHelper::CStrToUnicode( const char *pStr, nsString& result) ++{ ++ result.Truncate( 0); ++ int wLen = MultiByteToWideChar( CP_ACP, 0, pStr, -1, m_pUniBuff, 0); ++ if (wLen >= m_uniBuffLen) ++ { ++ delete [] m_pUniBuff; ++ m_pUniBuff = new PRUnichar[wLen + 64]; ++ m_uniBuffLen = wLen + 64; + } +- ++ aNbElements ; ++ if (wLen) ++ { ++ MultiByteToWideChar( CP_ACP, 0, pStr, -1, m_pUniBuff, m_uniBuffLen); ++ result = m_pUniBuff; + } +- MyFreeProws(rowSet) ; +- } while (rowCount > 0) ; +- return TRUE ; + } +- +-BOOL nsAbWinHelper::GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, +- ULONG aNbProperties, LPSPropValue& aValue, +- ULONG& aValueCount) ++void nsAbWinHelper::UnicodeToCStr( const PRUnichar *pUStr,nsCString& result) + { +- nsMapiInterfaceWrapper<LPMAPIPROP> object ; +- ULONG objType = 0 ; +- LPSPropTagArray properties = NULL ; +- ULONG i = 0 ; +- +- mLastError = mAddressBook->OpenEntry(aObject.mByteCount, aObject.mEntryId, +- &IID_IMAPIProp, 0, &objType, +- object) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot open entry %08x.\n", mLastError)) ; +- return FALSE ; ++ result.Truncate( 0); ++ int cLen = WideCharToMultiByte( CP_ACP, 0, pUStr, -1, m_pCStrBuff, 0,NULL,NULL); ++ if (cLen >= m_cstrBuffLen) { ++ if (m_pCStrBuff) ++ delete [] m_pCStrBuff; ++ m_pCStrBuff = new char[cLen + 64]; ++ m_cstrBuffLen = cLen + 64; + } +- AllocateBuffer(CbNewSPropTagArray(aNbProperties), +- NS_REINTERPRET_CAST(void **, &properties)) ; +- properties->cValues = aNbProperties ; +- for (i = 0 ; i < aNbProperties ; ++ i) { +- properties->aulPropTag [i] = aPropertyTags [i] ; +- } +- mLastError = object->GetProps(properties, 0, &aValueCount, &aValue) ; +- FreeBuffer(properties) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot get props %08x.\n", mLastError)) ; ++ if (cLen) { ++ WideCharToMultiByte( CP_ACP, 0, pUStr, -1, m_pCStrBuff, m_cstrBuffLen,NULL,NULL); ++ result = m_pCStrBuff; + } +- return HR_SUCCEEDED(mLastError) ; + } + +-BOOL nsAbWinHelper::SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, +- const LPSPropValue& aValues) +-{ +- nsMapiInterfaceWrapper<LPMAPIPROP> object ; +- ULONG objType = 0 ; +- LPSPropProblemArray problems = NULL ; ++static nsAbWinHelper *getOutlookAddressBook(void) { ++ static nsMapiAddressBook *addressBook = NULL ; + +- mLastError = mAddressBook->OpenEntry(aObject.mByteCount, aObject.mEntryId, +- &IID_IMAPIProp, MAPI_MODIFY, &objType, +- object) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot open entry %08x.\n", mLastError)) ; +- return FALSE ; +- } +- mLastError = object->SetProps(aNbProperties, aValues, &problems) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot update the object %08x.\n", mLastError)) ; +- return FALSE ; +- } +- if (problems != NULL) { +- for (ULONG i = 0 ; i < problems->cProblem ; ++ i) { +- PRINTF(("Problem %d: index %d code %08x.\n", i, +- problems->aProblem [i].ulIndex, +- problems->aProblem [i].scode)) ; +- } +- } +- mLastError = object->SaveChanges(0) ; +- if (HR_FAILED(mLastError)) { +- PRINTF(("Cannot commit changes %08x.\n", mLastError)) ; +- } +- return HR_SUCCEEDED(mLastError) ; ++ if (addressBook == NULL) { addressBook = new nsMapiAddressBook ; } ++ return addressBook ; + } + +-void nsAbWinHelper::MyFreeProws(LPSRowSet aRowset) +-{ +- if (aRowset == NULL) { return ; } +- ULONG i = 0 ; ++static nsAbWinHelper *getOutlookExpAddressBook(void) { ++ static nsWabAddressBook *addressBook = NULL ; + +- for (i = 0 ; i < aRowset->cRows ; ++ i) { +- FreeBuffer(aRowset->aRow [i].lpProps) ; +- } +- FreeBuffer(aRowset) ; ++ if (addressBook == NULL) { addressBook = new nsWabAddressBook ; } ++ return addressBook ; + } + + nsAbWinHelperGuard::nsAbWinHelperGuard(PRUint32 aType) + : mHelper(NULL) + { + switch(aType) { +- case nsAbWinType_Outlook: mHelper = new nsMapiAddressBook ; break ; +- case nsAbWinType_OutlookExp: mHelper = new nsWabAddressBook ; break ; ++ case nsAbWinType_Outlook: mHelper = getOutlookAddressBook() ; break ; ++ case nsAbWinType_OutlookExp: mHelper = getOutlookExpAddressBook() ; break ; + default: break ; + } + } + + nsAbWinHelperGuard::~nsAbWinHelperGuard(void) + { +- delete mHelper ; + } + + const char *kOutlookDirectoryScheme = "moz-aboutlookdirectory://" ; +--- misc/mozilla/mailnews/addrbook/src/nsAbWinHelper.h 2004-04-17 20:32:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAbWinHelper.h 2008-08-14 16:22:21.000000000 +0200 +@@ -45,6 +45,24 @@ + #include "nsVoidArray.h" + #include "nsXPIDLString.h" + ++#define PR_SECOND_EMAIL_ADDRESS_A 0x8033001E ++#define PR_SCREEN_NAME_A 0x805B001E ++ ++ ++// Small utility to ensure release of all MAPI interfaces ++template <class tInterface> struct nsMapiInterfaceWrapper ++{ ++ tInterface mInterface ; ++ ++ nsMapiInterfaceWrapper(void) : mInterface(NULL) {} ++ ~nsMapiInterfaceWrapper(void) { ++ if (mInterface ) { mInterface->Release() ; } ++ } ++ operator LPUNKNOWN *(void) { return NS_REINTERPRET_CAST(LPUNKNOWN *, &mInterface) ; } ++ tInterface operator -> (void) const { return mInterface ; } ++ operator tInterface *(void) { return &mInterface ; } ++} ; ++ + struct nsMapiEntry + { + ULONG mByteCount ; +@@ -62,14 +80,28 @@ + + struct nsMapiEntryArray + { +- nsMapiEntry *mEntries ; +- ULONG mNbEntries ; + + nsMapiEntryArray(void) ; + ~nsMapiEntryArray(void) ; + +- const nsMapiEntry& operator [] (int aIndex) const { return mEntries [aIndex] ; } ++ void AddItem(nsMapiEntry * aEntries); ++ void AddItem( ULONG mByteCount , LPENTRYID mEntryId ) ++ { ++ nsMapiEntry * aEntries=new nsMapiEntry(); ++ aEntries->Assign(mByteCount,mEntryId); ++ AddItem(aEntries); ++ } ++ ++ ULONG GetSize( void) { return( m_array.Count());} ++ nsMapiEntry& operator [] (int aIndex) { return *(nsMapiEntry*)m_array.ElementAt(aIndex); } ++ nsMapiEntry* ElementAt(int aIndex) { return (nsMapiEntry*)m_array.ElementAt(aIndex); } + void CleanUp(void) ; ++ void Remove(nsMapiEntry * aEntries){ m_array.RemoveElement(aEntries); } ++ void Remove(int index){ m_array.RemoveElementAt(index); } ++ ULONG IndexOf(nsMapiEntry * aEntries){return m_array.IndexOf(aEntries);}; ++private: ++ nsVoidArray m_array; ++ + } ; + + class nsAbWinHelper +@@ -79,7 +111,7 @@ + virtual ~nsAbWinHelper(void) ; + + // Get the top address books +- BOOL GetFolders(nsMapiEntryArray& aFolders) ; ++ virtual BOOL GetFolders(nsMapiEntryArray& aFolders) =0; + // Get a list of entries for cards/mailing lists in a folder/mailing list + BOOL GetCards(const nsMapiEntry& aParent, LPSRestriction aRestriction, + nsMapiEntryArray& aCards) ; +@@ -97,18 +129,14 @@ + BOOL GetPropertiesUString(const nsMapiEntry& aObject, const ULONG *aPropertiesTag, + ULONG aNbProperties, nsStringArray& aValues) ; + // Get the value of a MAPI property of type SYSTIME +- BOOL GetPropertyDate(const nsMapiEntry& aObject, ULONG aPropertyTag, ++ virtual BOOL GetPropertyDate(const nsMapiEntry& aObject, ULONG aPropertyTag, + WORD& aYear, WORD& aMonth, WORD& aDay) ; +- // Get the value of a MAPI property of type LONG +- BOOL GetPropertyLong(const nsMapiEntry& aObject, ULONG aPropertyTag, ULONG& aValue) ; + // Get the value of a MAPI property of type BIN + BOOL GetPropertyBin(const nsMapiEntry& aObject, ULONG aPropertyTag, nsMapiEntry& aValue) ; + // Tests if a container contains an entry + BOOL TestOpenEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aEntry) ; +- // Delete an entry in the address book +- BOOL DeleteEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aEntry) ; + // Set the value of a MAPI property of type string in unicode +- BOOL SetPropertyUString (const nsMapiEntry& aObject, ULONG aPropertyTag, ++ virtual BOOL SetPropertyUString (const nsMapiEntry& aObject, ULONG aPropertyTag, + const PRUnichar *aValue) ; + // Same as previous, but with a bunch of properties in one call + BOOL SetPropertiesUString(const nsMapiEntry& aObject, const ULONG *aPropertiesTag, +@@ -117,32 +145,44 @@ + BOOL SetPropertyDate(const nsMapiEntry& aObject, ULONG aPropertyTag, + WORD aYear, WORD aMonth, WORD aDay) ; + // Create entry in the address book +- BOOL CreateEntry(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; ++ virtual BOOL CreateEntry(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; ++ // Delete an entry in the address book ++ virtual BOOL DeleteEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aEntry) ; + // Create a distribution list in the address book +- BOOL CreateDistList(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; ++ virtual BOOL CreateDistList(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; + // Copy an existing entry in the address book +- BOOL CopyEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aSource, nsMapiEntry& aTarget) ; ++ virtual BOOL CopyEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aSource, nsMapiEntry& aTarget) ; + // Get a default address book container +- BOOL GetDefaultContainer(nsMapiEntry& aContainer) ; ++ virtual BOOL GetDefaultContainer(nsMapiEntry& aContainer) =0; + // Is the helper correctly initialised? +- BOOL IsOK(void) const { return mAddressBook != NULL ; } ++ virtual BOOL IsOK(void) =0;/*const { return mAddressBook != NULL ; }*/ ++ ++ // Get the value of a MAPI property of type LONG ++ virtual BOOL GetPropertyLong(const nsMapiEntry& aObject, ULONG aPropertyTag, ULONG& aValue) ; + + protected: + HRESULT mLastError ; +- LPADRBOOK mAddressBook ; + static PRUint32 mEntryCounter ; + static PRLock *mMutex ; + ++ virtual HRESULT OpenEntry(ULONG cbEntryID, ++ LPENTRYID lpEntryID, ++ LPCIID lpInterface, ++ ULONG ulFlags, ++ ULONG FAR * lpulObjType, ++ LPUNKNOWN FAR * lppUnk ++ ) = 0; ++ + // Retrieve the contents of a container, with an optional restriction +- BOOL GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, +- nsMapiEntry **aList, ULONG &aNbElements, ULONG aMapiType) ; ++ virtual BOOL GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, ++ nsMapiEntryArray *aList, ULONG aMapiType) =0; + // Retrieve the values of a set of properties on a MAPI object +- BOOL GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, ++ virtual BOOL GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, + ULONG aNbProperties, +- LPSPropValue& aValues, ULONG& aValueCount) ; ++ LPSPropValue& aValues, ULONG& aValueCount) =0; + // Set the values of a set of properties on a MAPI object +- BOOL SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, +- const LPSPropValue& aValues) ; ++ virtual BOOL SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, ++ LPSPropValue& aValues) =0; + // Clean-up a rowset returned by QueryRows + void MyFreeProws(LPSRowSet aSet) ; + // Allocation of a buffer for transmission to interfaces +@@ -150,7 +190,16 @@ + // Destruction of a buffer provided by the interfaces + virtual void FreeBuffer(LPVOID aBuffer) = 0 ; + ++ static void CStrToUnicode( const char *pStr, nsString& result); ++ static void UnicodeToCStr( const PRUnichar *pStr, nsCString& result); ++ + private: ++ static int m_clients; ++ static PRUnichar * m_pUniBuff; ++ static int m_uniBuffLen; ++ static char * m_pCStrBuff; ++ static int m_cstrBuffLen; ++ + } ; + + enum nsAbWinType +@@ -168,6 +217,7 @@ + + nsAbWinHelper *operator ->(void) { return mHelper ; } + ++ static void FreeWinAbLibrarys(); + private: + nsAbWinHelper *mHelper ; + } ; +--- misc/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp 2006-12-22 14:51:39.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp 2008-08-20 15:09:45.000000000 +0200 +@@ -100,6 +100,9 @@ + + static const char kMailListAddressFormat[] = "Address%d"; + ++extern int getMD5sum(const char * fileName,char * sum); ++extern int testMD5sum(const char * fileName,char * sum); ++ + static NS_DEFINE_CID(kCMorkFactory, NS_MORK_CID); + + nsAddrDatabase::nsAddrDatabase() +@@ -171,6 +174,7 @@ + m_LastRecordKey(0), + m_dbDirectory(nsnull) + { ++ memset(m_dbMd5Sum,0,33); + } + + nsAddrDatabase::~nsAddrDatabase() +@@ -790,7 +794,11 @@ + if (NS_FAILED(ret)) + ret = NS_ERROR_FILE_ACCESS_DENIED; + } +- ++ ++ ret = getMD5sum(nativeFileName,m_dbMd5Sum); ++ if (ret == 1) ++ ret = NS_ERROR_FAILURE; ++ + nsCRT::free(nativeFileName); + + if (NS_SUCCEEDED(ret) && thumb) +@@ -883,6 +891,17 @@ + { + nsresult err = NS_OK; + nsIMdbThumb *commitThumb = nsnull; ++ ++ const char *pFilename = m_dbName.GetCString(); /* do not free */ ++ char *nativeFileName = nsCRT::strdup(pFilename); ++#if defined(XP_PC) || defined(XP_MAC) ++ UnixToNative(nativeFileName); ++#endif ++ if (testMD5sum(nativeFileName,m_dbMd5Sum)) ++ { ++ nsCRT::free(nativeFileName); ++ return NS_ERROR_FILE_ACCESS_DENIED; ++ } + + if (commitType == nsAddrDBCommitType::kLargeCommit || + commitType == nsAddrDBCommitType::kSessionCommit) +@@ -936,6 +955,10 @@ + // ### do something with error, but clear it now because mork errors out on commits. + if (m_mdbEnv) + m_mdbEnv->ClearErrors(); ++ if (NS_SUCCEEDED(err) && getMD5sum(nativeFileName,m_dbMd5Sum)) ++ err = NS_ERROR_FAILURE; ++ nsCRT::free(nativeFileName); ++ + return err; + } + +--- misc/mozilla/mailnews/addrbook/src/nsAddrDatabase.h 2006-12-22 14:51:39.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsAddrDatabase.h 2008-08-14 16:29:20.000000000 +0200 +@@ -394,6 +394,7 @@ + nsIMdbTable *m_mdbPabTable; + nsIMdbTable *m_mdbDeletedCardsTable; + nsFileSpec m_dbName; ++ char m_dbMd5Sum[33]; + PRBool m_mdbTokensInitialized; + nsVoidArray /*<nsIAddrDBListener>*/ *m_ChangeListeners; + +--- misc/mozilla/mailnews/addrbook/src/nsMapiAddressBook.cpp 2004-11-05 16:13:32.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsMapiAddressBook.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -40,6 +40,22 @@ + + #include "prlog.h" + ++static char * stristr(const char *big, const char *little) ++{ ++ PRUint32 len; ++ ++ if (!big || !little || !*big || !*little) ++ return 0; ++ len = strlen(little); ++ ++ for( ; *big; big++ ) ++ if(!_strnicmp (big, little, 1) && ! _strnicmp (big, little, len) ) ++ return (char *)big; ++ ++ return (char *)0; ++ ++} ++ + #ifdef PR_LOGGING + static PRLogModuleInfo* gMapiAddressBookLog + = PR_NewLogModule("nsMapiAddressBookLog"); +@@ -47,6 +63,60 @@ + + #define PRINTF(args) PR_LOG(gMapiAddressBookLog, PR_LOG_DEBUG, args) + ++#define OUTLOOK_EMAIL_DIAPLAY_MAPI_ID 0x00008005 //use to get and set display ++#define OUTLOOK_EMAIL1_MAPI_ID 0x00008084 //use to get and set primary email address ++#define OUTLOOK_EMAIL2_MAPI_ID 0x00008094 //use to get and set second email address ++#define OUTLOOK_EMAIL_SCREEN_NAME 0x8061001E //use to get and set screen name ++#define OUTLOOK_EMAIL_ORGID 0x00008085 //use to get orginal entryid to add to distlist ++#define OUTLOOK_EMAIL_LIST1 0x00008054 //use to get distlist table ++#define OUTLOOK_EMAIL_LIST2 0x00008055 //use to set distlist table ++ ++static const TagMap TagMaps[]={ ++ {PR_DISPLAY_NAME_A, OUTLOOK_EMAIL_DIAPLAY_MAPI_ID, PT_STRING8}, ++ {PR_EMAIL_ADDRESS_A, OUTLOOK_EMAIL1_MAPI_ID, PT_STRING8}, ++ {PR_SECOND_EMAIL_ADDRESS_A, OUTLOOK_EMAIL2_MAPI_ID, PT_STRING8}, ++ {PR_SCREEN_NAME_A, OUTLOOK_EMAIL_SCREEN_NAME, PT_STRING8}}; ++ ++enum { ++ ieidPR_ENTRYID = 0, ++ ieidPR_OBJECT_TYPE, ++ ieidPR_DISPLAY_NAME, ++ ieidPR_MESSAGE_CLASS, ++ ieidPR_STORE_ENTRYID, ++ ieidPR_MESSAGE_RECIPIENTS, ++ ieidMax ++}; ++ ++static const SizedSPropTagArray(ieidMax, ptaEid)= ++{ ++ ieidMax, ++ { ++ PR_ENTRYID, ++ PR_OBJECT_TYPE, ++ PR_DISPLAY_NAME, ++ PR_MESSAGE_CLASS, ++ PR_STORE_ENTRYID, ++ PR_MESSAGE_RECIPIENTS ++ } ++}; ++ ++enum ++{ ++ ContentsColumnEntryId = 0, ++ ContentsColumnObjectType, ++ ContentsColumnMessageClass, ++ ContentsColumnsSize ++} ; ++ ++static const SizedSPropTagArray(ContentsColumnsSize, ContentsColumns) = ++{ ++ ContentsColumnsSize, ++ { ++ PR_ENTRYID, ++ PR_OBJECT_TYPE, ++ PR_MESSAGE_CLASS ++ } ++} ; + + HMODULE nsMapiAddressBook::mLibrary = NULL ; + PRInt32 nsMapiAddressBook::mLibUsage = 0 ; +@@ -59,7 +129,7 @@ + BOOL nsMapiAddressBook::mInitialized = FALSE ; + BOOL nsMapiAddressBook::mLogonDone = FALSE ; + LPMAPISESSION nsMapiAddressBook::mRootSession = NULL ; +-LPADRBOOK nsMapiAddressBook::mRootBook = NULL ; ++#define MAPI_NO_COINIT 8 + + BOOL nsMapiAddressBook::LoadMapiLibrary(void) + { +@@ -91,7 +161,7 @@ + mMAPILogonEx = NS_REINTERPRET_CAST(LPMAPILOGONEX, + GetProcAddress(mLibrary, "MAPILogonEx")) ; + if (!mMAPILogonEx) { return FALSE ; } +- MAPIINIT_0 mapiInit = { MAPI_INIT_VERSION, MAPI_MULTITHREAD_NOTIFICATIONS } ; ++ MAPIINIT_0 mapiInit = { MAPI_INIT_VERSION, MAPI_MULTITHREAD_NOTIFICATIONS | MAPI_NO_COINIT } ; + HRESULT retCode = mMAPIInitialize(&mapiInit) ; + + if (HR_FAILED(retCode)) { +@@ -105,22 +175,19 @@ + MAPI_NEW_SESSION, + &mRootSession) ; + if (HR_FAILED(retCode)) { +- PRINTF(("Cannot logon to MAPI %08x.\n", retCode)) ; return FALSE ; ++ PRINTF(("Cannot logon to MAPI %08x.\n", retCode)) ; ++ return FALSE ; + } + mLogonDone = TRUE ; +- retCode = mRootSession->OpenAddressBook(0, NULL, 0, &mRootBook) ; +- if (HR_FAILED(retCode)) { +- PRINTF(("Cannot open MAPI address book %08x.\n", retCode)) ; +- } ++ + return HR_SUCCEEDED(retCode) ; + } + + void nsMapiAddressBook::FreeMapiLibrary(void) + { + if (mLibrary) { +- if (-- mLibUsage == 0) { ++ if (--mLibUsage < 0) { + { +- if (mRootBook) { mRootBook->Release() ; } + if (mRootSession) { + if (mLogonDone) { + mRootSession->Logoff(NULL, 0, 0) ; +@@ -134,6 +201,7 @@ + } + } + FreeLibrary(mLibrary) ; ++ mRootSession = NULL; + mLibrary = NULL ; + } + } +@@ -145,7 +213,6 @@ + : nsAbWinHelper() + { + BOOL result = Initialize() ; +- + NS_ASSERTION(result == TRUE, "Couldn't initialize Mapi Helper") ; + MOZ_COUNT_CTOR(nsMapiAddressBook) ; + } +@@ -153,22 +220,882 @@ + nsMapiAddressBook::~nsMapiAddressBook(void) + { + nsAutoLock guard(mMutex) ; +- ++ CleanUpMDB(); + FreeMapiLibrary() ; + MOZ_COUNT_DTOR(nsMapiAddressBook) ; + } + ++LPSPropValue nsMapiAddressBook::GetMapiProperty( LPMAPIPROP pProp, ULONG tag) ++{ ++ if (!pProp) ++ return( NULL); ++ ++ int sz = CbNewSPropTagArray( 1); ++ SPropTagArray *pTag = (SPropTagArray *) new char[sz]; ++ pTag->cValues = 1; ++ pTag->aulPropTag[0] = tag; ++ LPSPropValue lpProp = NULL; ++ ULONG cValues = 0; ++ HRESULT hr = pProp->GetProps( pTag, 0, &cValues, &lpProp); ++ delete pTag; ++ if (HR_FAILED( hr) || (cValues != 1)) { ++ if (lpProp) ++ mMAPIFreeBuffer( lpProp); ++ return( NULL); ++ } ++ else { ++ if (PROP_TYPE( lpProp->ulPropTag) == PT_ERROR) { ++ if (lpProp->Value.l == MAPI_E_NOT_FOUND) { ++ mMAPIFreeBuffer( lpProp); ++ lpProp = NULL; ++ } ++ } ++ } ++ ++ return( lpProp); ++} ++BOOL nsMapiAddressBook::GetEntryIdFromProp( LPSPropValue pVal, ULONG& cbEntryId, LPENTRYID& lpEntryId, BOOL delVal) ++{ ++ if (!pVal) ++ return( FALSE); ++ ++ BOOL bResult = TRUE; ++ switch (PROP_TYPE(pVal->ulPropTag)) ++ { ++ case PT_BINARY: ++ cbEntryId = pVal->Value.bin.cb; ++ mMAPIAllocateBuffer( cbEntryId, (LPVOID *) &lpEntryId); ++ memcpy( lpEntryId, pVal->Value.bin.lpb, cbEntryId); ++ break; ++ ++ default: ++ PRINTF(( "EntryId not in BINARY prop value\n")); ++ bResult = FALSE; ++ break; ++ } ++ ++ if (pVal && delVal) ++ mMAPIFreeBuffer( pVal); ++ ++ return( bResult); ++} ++ ++BOOL nsMapiAddressBook::HandleContentsItem(ULONG oType, ULONG cb, LPENTRYID pEntry,nsMapiEntryArray& aFolders) ++{ ++ LPMDB lpMsgStore; ++ ULONG objType=0; ++ HRESULT hr; ++ ++ if (oType == MAPI_MESSAGE) ++ return FALSE; ++ if (oType == MAPI_STORE) ++ { ++ hr=mRootSession->OpenEntry( ++ cb, ++ pEntry, ++ &IID_IMsgStore, ++ MAPI_BEST_ACCESS, ++ &objType, ++ (IUnknown**)&lpMsgStore); ++ if (FAILED(hr)) ++ return FALSE ; ++ //Add MDB to a list to make it can be released when class destroyed. ++ //We must leave it openned or else we can't open address store in it. ++ AddToMDBArray(lpMsgStore); ++ ++ LPSPropValue pVal; ++ pVal=GetMapiProperty(lpMsgStore,PR_IPM_SUBTREE_ENTRYID); ++ ++ ++ if (pVal) { ++ ULONG cbEntry; ++ LPENTRYID pEntry; ++ nsMapiInterfaceWrapper<LPMAPICONTAINER> lpSubTree; ++ ++ if (GetEntryIdFromProp( pVal, cbEntry, pEntry)) { ++ // Open up the folder! ++ BOOL bResult = TRUE; ++ bResult = lpMsgStore->OpenEntry( ++ cbEntry, ++ pEntry, ++ NULL, ++ MAPI_BEST_ACCESS, ++ &objType, ++ lpSubTree); ++ mMAPIFreeBuffer( pEntry); ++ if (!bResult && *(LPMAPICONTAINER*)&lpSubTree) { ++ // Iterate the subtree with the results going into the folder list ++ bResult = IterateHierarchy(*(LPMAPICONTAINER*)&lpSubTree,aFolders); ++ } ++ else { ++ PRINTF(( "GetStoreFolders: Error opening sub tree.\n")); ++ } ++ } ++ else { ++ PRINTF(( "GetStoreFolders: Error getting entryID from sub tree property val.\n")); ++ } ++ } ++ else { ++ PRINTF(( "GetStoreFolders: Error getting sub tree property.\n")); ++ } ++ } ++ else ++ { ++ PRINTF(("Type:%d\n",oType)); ++ } ++ ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::IterateHierarchy(LPMAPICONTAINER pFolder,nsMapiEntryArray& aFolders, ULONG flags) ++{ ++ // flags can be CONVENIENT_DEPTH or 0 ++ // CONVENIENT_DEPTH will return all depths I believe instead ++ // of just children ++ HRESULT hr; ++ nsMapiInterfaceWrapper<LPMAPITABLE> lpTable; ++ hr = pFolder->GetHierarchyTable( CONVENIENT_DEPTH , lpTable); ++ if (HR_FAILED(hr)) { ++ PRINTF(( "IterateHierarchy: GetContentsTable failed: 0x%lx, %d\n", (long)hr, (int)hr)); ++ return( FALSE); ++} ++ ++ ULONG rowCount; ++ hr = lpTable->GetRowCount( 0, &rowCount); ++ if (!rowCount) { ++ return( TRUE); ++ } ++ ++ hr = lpTable->SetColumns( (LPSPropTagArray)&ptaEid, 0); ++ if (HR_FAILED(hr)) { ++ PRINTF(( "IterateHierarchy: SetColumns failed: 0x%lx, %d\n", (long)hr, (int)hr)); ++ return( FALSE); ++ } ++ ++ hr = lpTable->SeekRow( BOOKMARK_BEGINNING, 0, NULL); ++ if (HR_FAILED(hr)) { ++ PRINTF(( "IterateHierarchy: SeekRow failed: 0x%lx, %d\n", (long)hr, (int)hr)); ++ return( FALSE); ++ } ++ ++ int cNumRows = 0; ++ LPSRowSet lpRow; ++ BOOL keepGoing = TRUE; ++ BOOL bResult = TRUE; ++ do { ++ ++ lpRow = NULL; ++ hr = lpTable->QueryRows( 1, 0, &lpRow); ++ ++ if (HR_FAILED(hr)) ++{ ++ PRINTF(( "QueryRows failed: 0x%lx, %d\n", (long)hr, (int)hr)); ++ bResult = FALSE; ++ break; ++ } ++ ++ if (lpRow){ ++ cNumRows = lpRow->cRows; ++ ++ if (cNumRows) { ++ LPENTRYID lpEntry = (LPENTRYID) lpRow->aRow[0].lpProps[ieidPR_ENTRYID].Value.bin.lpb; ++ ULONG cb = lpRow->aRow[0].lpProps[ieidPR_ENTRYID].Value.bin.cb; ++ ULONG oType = lpRow->aRow[0].lpProps[ieidPR_OBJECT_TYPE].Value.ul; ++ ++ keepGoing = HandleHierarchyItem( oType, cb, lpEntry,aFolders); ++ ++ } ++ MyFreeProws(lpRow); ++ } ++ ++ } while ( SUCCEEDED(hr) && cNumRows && lpRow && keepGoing); ++ ++ ++ if (bResult && !keepGoing) ++ bResult = FALSE; ++ ++ return( bResult); ++} ++BOOL nsMapiAddressBook::HandleHierarchyItem( ULONG oType, ULONG cb, LPENTRYID pEntry,nsMapiEntryArray& aFolders) ++{ ++ ULONG objType=0; ++ if (oType == MAPI_FOLDER) ++ { ++ nsMapiInterfaceWrapper<LPMAPICONTAINER> pFolder ; ++ if (!mRootSession->OpenEntry( ++ cb, ++ pEntry, ++ 0, ++ MAPI_BEST_ACCESS, ++ &objType, ++ pFolder)) ++ { ++ LPSPropValue pVal; ++ ++ ++ pVal = GetMapiProperty(*(LPMAPICONTAINER*)&pFolder, PR_CONTAINER_CLASS); ++ if (pVal) ++ { ++ if (strcmp("IPF.Contact",pVal->Value.lpszA) == 0) ++ { ++ SPropValue *currentValue=GetMapiProperty( *(LPMAPICONTAINER*)&pFolder, PR_ENTRYID); ++ ++ aFolders.AddItem(currentValue->Value.bin.cb, ++ NS_REINTERPRET_CAST(LPENTRYID, currentValue->Value.bin.lpb)) ; ++ ++ } ++ } ++ } ++ } ++ else ++ { ++ PRINTF(( "GetStoreFolders - HandleHierarchyItem: Unhandled ObjectType: %ld\n", oType)); ++ } ++ ++ return( TRUE); ++} ++ ++ ++BOOL nsMapiAddressBook::GetFolders(nsMapiEntryArray& aFolders) ++{ ++ aFolders.CleanUp() ; ++ nsMapiInterfaceWrapper<LPMAPICONTAINER> rootFolder ; ++ nsMapiInterfaceWrapper<LPMAPITABLE> folders ; ++ ULONG objType = 0 ; ++ ULONG rowCount = 0 ; ++ ++ nsMapiInterfaceWrapper<LPMAPITABLE> lpTable; ++ ++ mLastError = mRootSession->GetMsgStoresTable( 0, lpTable); ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open MAPI MsgStores %08x.\n", mLastError)); ++ return mLastError; ++ } ++ ++ mLastError = lpTable->GetRowCount( 0, &rowCount); ++ ++ mLastError = lpTable->SetColumns( (LPSPropTagArray)&ptaEid, 0); ++ if (FAILED(mLastError)) ++ return( mLastError); ++ mLastError = lpTable->SeekRow( BOOKMARK_BEGINNING, 0, NULL); ++ if (FAILED(mLastError)) ++ return mLastError; ++ ++ int cNumRows = 0; ++ LPSRowSet lpRow; ++ BOOL keepGoing = TRUE; ++ BOOL bResult = TRUE; ++ do { ++ ++ lpRow = NULL; ++ mLastError = lpTable->QueryRows( 1, 0, &lpRow); ++ ++ if (HR_FAILED(mLastError)){ ++ bResult = FALSE; ++ break; ++ } ++ ++ if (lpRow){ ++ cNumRows = lpRow->cRows; ++ ++ if (cNumRows) { ++ LPENTRYID lpEID = (LPENTRYID) lpRow->aRow[0].lpProps[ieidPR_ENTRYID].Value.bin.lpb; ++ ULONG cbEID = lpRow->aRow[0].lpProps[ieidPR_ENTRYID].Value.bin.cb; ++ ULONG oType = lpRow->aRow[0].lpProps[ieidPR_OBJECT_TYPE].Value.ul; ++ ++ ++ keepGoing = HandleContentsItem( oType, cbEID, lpEID,aFolders); ++ } ++ MyFreeProws( lpRow); ++ } ++ ++ } while ( SUCCEEDED(mLastError) && cNumRows && lpRow && keepGoing); ++ ++ ++ return HR_SUCCEEDED(mLastError) ; ++} ++BOOL nsMapiAddressBook::CorrectRestriction(const LPMAPIPROP aMapiProp,ULONG aRestrictionNum, LPSRestriction aRestriction) ++{ ++ ULONG conditionType = 0 ; ++ ULONG ulResIndex; ++ if (!aRestriction) ++ return FALSE; ++ for (ulResIndex=0;ulResIndex < aRestrictionNum;ulResIndex++) ++ { ++ conditionType = aRestriction[ulResIndex].rt; ++ switch (conditionType) ++ { ++ case RES_EXIST : ++ aRestriction[ulResIndex].res.resExist.ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resExist.ulPropTag); ++ break ; ++ case RES_BITMASK : ++ aRestriction[ulResIndex].res.resBitMask.ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resBitMask.ulPropTag); ++ break ; ++ case RES_CONTENT : ++ aRestriction[ulResIndex].res.resContent.ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resContent.ulPropTag); ++ aRestriction[ulResIndex].res.resContent.lpProp->ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resContent.lpProp->ulPropTag); ++ break ; ++ case RES_PROPERTY : ++ aRestriction[ulResIndex].res.resProperty.ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resProperty.ulPropTag); ++ aRestriction[ulResIndex].res.resProperty.lpProp->ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resProperty.lpProp->ulPropTag); ++ break ; ++ case RES_SIZE : ++ aRestriction[ulResIndex].res.resSize.ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resSize.ulPropTag); ++ break ; ++ case RES_COMPAREPROPS : ++ aRestriction[ulResIndex].res.resCompareProps.ulPropTag1 = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resCompareProps.ulPropTag1); ++ aRestriction[ulResIndex].res.resCompareProps.ulPropTag2 = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resCompareProps.ulPropTag2); ++ break ; ++ case RES_NOT : ++ CorrectRestriction(aMapiProp,1,aRestriction[ulResIndex].res.resNot.lpRes); ++ break; ++ case RES_AND : ++ CorrectRestriction(aMapiProp, ++ aRestriction[ulResIndex].res.resAnd.cRes, ++ aRestriction[ulResIndex].res.resAnd.lpRes); ++ break; ++ case RES_OR : ++ CorrectRestriction(aMapiProp, ++ aRestriction[ulResIndex].res.resOr.cRes, ++ aRestriction[ulResIndex].res.resOr.lpRes); ++ break; ++ ++ case RES_COMMENT : ++ CorrectRestriction(aMapiProp,1,aRestriction[ulResIndex].res.resComment.lpRes); ++ aRestriction[ulResIndex].res.resComment.lpProp->ulPropTag = ++ GetRealMapiPropertyTag(aMapiProp,aRestriction[ulResIndex].res.resComment.lpProp->ulPropTag); ++ break; ++ case RES_SUBRESTRICTION : ++ CorrectRestriction(aMapiProp,1,aRestriction[ulResIndex].res.resSub.lpRes); ++ break; ++ default: ++ return FALSE; ++ } ++ } ++ return TRUE; ++} ++BOOL nsMapiAddressBook::Filter( LPSRestriction aRestriction,nsMapiEntryArray * aList) ++{ ++ if (!aRestriction) ++ return FALSE; ++ ++ ULONG conditionType = 0 ; ++ ++ nsMapiEntryArray listOut; ++ ULONG listindex=0; ++ ++ nsMapiEntryArray listDel; ++ ULONG delindex=0; ++ ++ ULONG listsize; ++ ULONG resCount = 0; ++ ULONG resIndex = 0; ++ ++ listsize = aList->GetSize(); ++ conditionType = aRestriction->rt; ++ switch (conditionType) ++ { ++ case RES_EXIST : ++ case RES_BITMASK : ++ case RES_CONTENT : ++ case RES_PROPERTY : ++ case RES_SIZE : ++ case RES_COMPAREPROPS : ++ case RES_COMMENT : ++ case RES_SUBRESTRICTION : ++ { ++ while(listindex < aList->GetSize()) ++ { ++ if (!FilterOnOneRow(aList->ElementAt(listindex),aRestriction)) ++ aList->Remove(listindex); ++ else ++ listindex++; ++ } ++ } ++ break; ++ case RES_NOT : ++ aRestriction->res.resNot.ulReserved = 1; ++ case RES_AND : ++ case RES_OR : ++ { ++ if (conditionType == RES_OR) ++ { ++ for(listindex=0;listindex<aList->GetSize();listindex++) ++ { ++ listDel.AddItem(aList->ElementAt(listindex)); ++ } ++ } ++ ++ resCount = aRestriction->res.resAnd.cRes; ++ //notice that SAndRestriction ,SNotRestriction ,SOrRestriction ++ //use the same struct ++ for (resIndex = 0;resIndex < resCount;resIndex++) ++ { ++ //can't call listOut.CleanUp() here ++ //because it will destroy all Element too ++ while(listOut.GetSize()) ++ { ++ listOut.Remove(0); ++ } ++ ++ for(listindex=0;listindex<aList->GetSize();listindex++) ++ { ++ listOut.AddItem(aList->ElementAt(listindex)); ++ } ++ ++ Filter(&aRestriction->res.resAnd.lpRes[resIndex],&listOut); ++ if (conditionType == RES_NOT) ++ { ++ for(listindex=0;listindex<listOut.GetSize();listindex++) ++ { ++ aList->Remove(listOut.ElementAt(listindex)); ++ } ++ } ++ else if (conditionType == RES_AND ) ++ { ++ for(listindex=0;listindex<listOut.GetSize();listindex++) ++ { ++ if (!aList->IndexOf(listOut.ElementAt(listindex))) ++ { ++ aList->Remove(listOut.ElementAt(listindex)); ++ } ++ } ++ } ++ else if (conditionType == RES_OR ) ++ { ++ for(listindex=0;listindex<listOut.GetSize();listindex++) ++ { ++ listDel.Remove(listOut.ElementAt(listindex)); ++ } ++ if (listDel.GetSize() == 0) ++ { ++ break; ++ } ++ } ++ } ++ if (conditionType == RES_OR) ++ { ++ for(listindex=0;listindex<listDel.GetSize();listindex++) ++ { ++ aList->Remove(listDel.ElementAt(listindex)); ++ } ++ } ++ } ++ ++ } ++ while(listDel.GetSize()) ++ { ++ listDel.Remove(0); ++ } ++ while(listOut.GetSize()) ++ { ++ listOut.Remove(0); ++ } ++ ++ ++ return TRUE; ++} ++ ++BOOL nsMapiAddressBook::FilterOnOneRow(nsMapiEntry *aEntry,LPSRestriction aRestriction) ++{ ++ LPMAPIPROP object ; ++ ULONG objType = 0 ; ++ LPSPropValue realValue = NULL ; ++ LPSPropValue resValue = NULL ; ++ ULONG valueCount = 0 ; ++ ++ mLastError = OpenEntry(aEntry->mByteCount, aEntry->mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ (IUnknown **)&object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ ULONG conditionType = 0 ; ++ conditionType = aRestriction->rt; ++ ++ switch (conditionType) ++ { ++ case RES_EXIST : ++ if (!GetMAPIProperties(*aEntry,&aRestriction->res.resExist.ulPropTag,1,realValue,valueCount)) ++ return FALSE; ++ resValue = NULL; ++ break ; ++ case RES_CONTENT : ++ if (!GetMAPIProperties(*aEntry,&aRestriction->res.resContent.ulPropTag,1,realValue,valueCount)) ++ return FALSE; ++ resValue = aRestriction->res.resContent.lpProp; ++ break ; ++ case RES_PROPERTY : ++ if (!GetMAPIProperties(*aEntry,&aRestriction->res.resProperty.ulPropTag,1,realValue,valueCount)) ++ return FALSE; ++ resValue = aRestriction->res.resProperty.lpProp; ++ break ; ++ case RES_BITMASK : ++ return FALSE; //not support ++ break ; ++ case RES_SIZE : ++ return FALSE;//not been used now ++ break ; ++ case RES_COMPAREPROPS : ++ return FALSE;//not been used now ++ break ; ++ case RES_NOT : ++ return FALSE;//not need care here ++ break; ++ case RES_AND : ++ return FALSE;//not need care here ++ break; ++ case RES_OR : ++ return FALSE;//not need care here ++ break; ++ case RES_COMMENT : ++ return TRUE;//comment ++ break; ++ case RES_SUBRESTRICTION : ++ return FALSE;//not been used now ++ break ; ++} ++ return AtomyFilter(aRestriction,realValue,resValue); ++ ++} ++ ++BOOL nsMapiAddressBook::AtomyFilter(LPSRestriction aRestriction,LPSPropValue aRealValue,LPSPropValue aFilterValue) ++{ ++ ULONG conditionType = 0 ; ++ conditionType = aRestriction->rt; ++ ++ BOOL bTagEq=(aRealValue && ++ PROP_TYPE( aRealValue->ulPropTag ) != PT_ERROR) && ++ aFilterValue; ++ // PROP_TYPE( aRealValue->ulPropTag ) == PROP_TYPE( aFilterValue->ulPropTag )); ++ switch (conditionType) ++ { ++ case RES_EXIST : ++ return (aRealValue && PROP_TYPE( aRealValue->ulPropTag ) != PT_ERROR) ; ++ break ; ++ case RES_CONTENT : ++ if (bTagEq) ++ { ++ switch(aRestriction->res.resContent.ulFuzzyLevel) ++ { ++ case FL_FULLSTRING : ++ return !stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA); ++ break; ++ case FL_PREFIX : ++ return stristr(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) == aRealValue->Value.lpszA; ++ break; ++ case FL_SUBSTRING : ++ default: ++ return stristr(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) != NULL; ++ break; ++ } ++ } ++ return FALSE; ++ break ; ++ case RES_PROPERTY : ++ if (bTagEq) ++ { ++ switch(aRestriction->res.resProperty.relop) ++ { ++ case RELOP_GE : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) >= 0; ++ break; ++ case RELOP_GT : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) > 0; ++ break; ++ case RELOP_LE : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) <= 0; ++ break; ++ case RELOP_LT : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) < 0; ++ break; ++ case RELOP_EQ : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) == 0; ++ break; ++ case RELOP_NE : ++ return stricmp(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) != 0; ++ break; ++ case RELOP_RE : ++ default: ++ return stristr(aRealValue->Value.lpszA,aFilterValue->Value.lpszA) != NULL; ++ break; ++ ++ } ++ } ++ return FALSE; ++ break ; ++ case RES_BITMASK : ++ return FALSE; //not support ++ break ; ++ case RES_SIZE : ++ return FALSE;//not been used now ++ break ; ++ case RES_COMPAREPROPS : ++ return FALSE;//not been used now ++ break ; ++ case RES_NOT : ++ return FALSE;//not need care here ++ break; ++ case RES_AND : ++ return FALSE;//not need care here ++ break; ++ case RES_OR : ++ return FALSE;//not need care here ++ break; ++ case RES_COMMENT : ++ return TRUE;//comment ++ break; ++ case RES_SUBRESTRICTION : ++ return FALSE;//not been used now ++ break ; ++ } ++ return TRUE; ++} ++ ++BOOL nsMapiAddressBook::GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, ++ nsMapiEntryArray *aList, ULONG aMapiType) ++{ ++ if (aList) ++ aList->CleanUp(); ++ ++ nsMapiInterfaceWrapper<LPMAPICONTAINER> parent ; ++ nsMapiInterfaceWrapper<LPMAPITABLE> contents ; ++ ULONG objType = 0 ; ++ ULONG rowCount = 0 ; ++ ++ ++ nsMapiInterfaceWrapper<LPMAPIPROP> pFolder; ++ nsCString cs; ++ aParent.ToString(cs); ++ ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ 0, MAPI_BEST_ACCESS, &objType, pFolder); ++ if (HR_FAILED(mLastError)) ++ { ++ PRINTF(("Cannot open folder %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ ++ ++ LPSPropValue msgClass=GetMapiProperty(*(LPMAPIPROP*)&pFolder,PR_MESSAGE_CLASS); ++ if (msgClass && strcmp("IPM.DistList",msgClass->Value.lpszA) == 0) ++ { ++ HRESULT hr; ++ LPSPropValue aValue = NULL ; ++ ULONG aValueCount = 0 ; ++ ++ LPSPropTagArray properties = NULL ; ++ mMAPIAllocateBuffer(CbNewSPropTagArray(1), ++ (void **)&properties); ++ properties->cValues = 1; ++ properties->aulPropTag [0] = GetEmailPropertyTag(*(LPMAPIPROP*)&pFolder,OUTLOOK_EMAIL_LIST1); ++ hr = pFolder->GetProps(properties, 0, &aValueCount, &aValue) ; ++ ++ SBinaryArray *sa=&aValue->Value.MVbin; ++ ++ LPENTRYID lpEID; ++ ULONG cbEID; ++ ++ ULONG idx; ++ nsMapiEntry testEntry; ++ nsCString sClass; ++ for (idx=0;sa->lpbin && idx<sa->cValues ;idx++) ++ { ++ lpEID= (LPENTRYID) sa->lpbin[idx].lpb; ++ cbEID = sa->lpbin[idx].cb; ++ testEntry.Assign(sa->lpbin[idx].cb,NS_REINTERPRET_CAST(LPENTRYID,sa->lpbin[idx].lpb)); ++ ++ if (GetPropertyString(testEntry,PR_MESSAGE_CLASS,sClass)) //Error get property ++ { ++ aList->AddItem(cbEID,lpEID); ++ } ++ } ++ Filter(aRestriction,aList); ++ } ++ else ++ { ++ if (aRestriction && !CorrectRestriction(*(LPMAPICONTAINER*)&pFolder,1,aRestriction)) ++ return FALSE; ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIContainer, MAPI_BEST_ACCESS, &objType, ++ parent) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open parent %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ mLastError = parent->GetContentsTable(0, contents) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot get contents %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ if (aRestriction) { ++ mLastError = contents->Restrict(aRestriction, TBL_BATCH) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set restriction %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ } ++ mLastError = contents->SetColumns((LPSPropTagArray)&ContentsColumns, 0); ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set columns %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ mLastError = contents->GetRowCount(0, &rowCount) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot get result count %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ do { ++ LPSRowSet rowSet = NULL ; ++ ++ rowCount = 0 ; ++ mLastError = contents->QueryRows(1, 0, &rowSet) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot query rows %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ rowCount = rowSet->cRows ; ++ if (rowCount > 0 && aList) ++ { ++ if (aMapiType == 0 || rowSet->aRow->lpProps[ContentsColumnObjectType].Value.ul == aMapiType) ++ { ++ SPropValue& currentValue = rowSet->aRow->lpProps[ContentsColumnEntryId] ; ++ aList->AddItem(currentValue.Value.bin.cb, ++ NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; ++ } ++ else if (aMapiType == MAPI_DISTLIST) ++ { ++ if (strcmp("IPM.DistList",rowSet->aRow->lpProps[ContentsColumnMessageClass].Value.lpszA)==0) ++ { ++ SPropValue& currentValue = rowSet->aRow->lpProps[ContentsColumnEntryId] ; ++ aList->AddItem(currentValue.Value.bin.cb, ++ NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; ++ ++ } ++} ++ ++ } ++ MyFreeProws(rowSet) ; ++ } while (rowCount > 0) ; ++ } ++ ++ ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, ++ ULONG aNbProperties, LPSPropValue& aValue, ++ ULONG& aValueCount) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object ; ++ ULONG objType = 0 ; ++ LPSPropTagArray properties = NULL ; ++ ULONG i = 0 ; ++ ++ mLastError = OpenEntry(aObject.mByteCount, aObject.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ AllocateBuffer(CbNewSPropTagArray(aNbProperties), ++ NS_REINTERPRET_CAST(void **, &properties)); ++ properties->cValues = aNbProperties ; ++ for (i = 0 ; i < aNbProperties ; ++ i) ++ { ++ properties->aulPropTag [i] = GetRealMapiPropertyTag(*(LPMAPIPROP*)&object,aPropertyTags [i],TRUE); ++ } ++ mLastError = object->GetProps(properties, 0 , &aValueCount, &aValue) ; ++ FreeBuffer(properties) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Error get props %08x.\n", mLastError)) ; ++ } ++ return HR_SUCCEEDED(mLastError); ++} ++ ++BOOL nsMapiAddressBook::SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, ++ LPSPropValue& aValues) ++{ ++ nsMapiInterfaceWrapper<LPMESSAGE> object; ++ ULONG objType = 0 ; ++ LPSPropProblemArray problems = NULL ; ++ ULONG i = 0 ; ++ ++ LPMDB lpMsgStore=GetMsgStore(aObject); ++ ++ if (!lpMsgStore) ++ { ++ return FALSE; ++ } ++ mLastError = lpMsgStore->OpenEntry(aObject.mByteCount, aObject.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS , &objType, ++ object) ; ++ lpMsgStore->Release(); ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ for (i = 0 ; i < aNbProperties ; ++ i) ++ { ++ aValues[i].ulPropTag = GetRealMapiPropertyTag(*(LPMESSAGE*)&object,aValues[i].ulPropTag,TRUE); ++ } ++ mLastError = object->SetProps(aNbProperties, aValues, &problems) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot update the object %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ if (problems) { ++ for (ULONG i = 0 ; i < problems->cProblem ; ++ i) { ++ PRINTF(("Problem %d: index %d code %08x.\n", i, ++ problems->aProblem [i].ulIndex, ++ problems->aProblem [i].scode)) ; ++ } ++ } ++ mLastError = object->SaveChanges(0) ; ++ if (MAPI_E_OBJECT_CHANGED == mLastError) ++ { ++ mLastError = object->SaveChanges(FORCE_SAVE ) ; ++ } ++ return HR_SUCCEEDED(mLastError) ; ++} ++ ++BOOL nsMapiAddressBook::GetDefaultContainer(nsMapiEntry& aContainer) ++{ ++ return FALSE ; ++} ++ ++BOOL nsMapiAddressBook::IsOK(void) ++{ ++ return mRootSession && mLibUsage; ++} ++ + BOOL nsMapiAddressBook::Initialize(void) + { +- if (mAddressBook) { return TRUE ; } ++ + nsAutoLock guard(mMutex) ; + + if (!LoadMapiLibrary()) { + PRINTF(("Cannot load library.\n")) ; + return FALSE ; + } +- mAddressBook = mRootBook ; +- return TRUE ; ++ return TRUE; + } + + void nsMapiAddressBook::AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) +@@ -181,7 +1108,803 @@ + mMAPIFreeBuffer(aBuffer) ; + } + ++ULONG nsMapiAddressBook::GetEmailPropertyTag(LPMAPIPROP lpProp, LONG nameID) ++{ ++ static GUID emailGUID = ++ { ++ 0x00062004, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 ++ }; ++ ++ ++ MAPINAMEID mapiNameID; ++ mapiNameID.lpguid = &emailGUID; ++ mapiNameID.ulKind = MNID_ID; ++ mapiNameID.Kind.lID = nameID; ++ ++ LPMAPINAMEID lpMapiNames = &mapiNameID; ++ LPSPropTagArray lpMailTagArray = NULL; ++ ++ HRESULT result = lpProp->GetIDsFromNames(1L, &lpMapiNames, 0, &lpMailTagArray); ++ if (result == S_OK) ++ { ++ ULONG lTag = lpMailTagArray->aulPropTag[0]; ++ mMAPIFreeBuffer(lpMailTagArray); ++ return lTag; ++ } ++ return 0L; ++} ++ULONG nsMapiAddressBook::GetRealMapiPropertyTag(LPMAPIPROP lpProp, LONG aPropertyTag,BOOL aTest) ++{ ++ LPSPropValue addr; ++ ULONG upRealTag=aPropertyTag; ++ ULONG lSize=sizeof(TagMaps) / sizeof(TagMap); ++ ++ for(int i=0; i<lSize; i++) ++ { ++ if (TagMaps[i].AddressTag == aPropertyTag) ++ { ++ ++ ULONG kPriEmailColumn=GetEmailPropertyTag(lpProp,TagMaps[i].NameID); ++ if (aTest) ++ { ++ if (PR_DISPLAY_NAME_A == aPropertyTag) ++ { ++ //We need not change PR_DISPLAY_NAME_A tag if we are not using an address ++ LPSPropValue msgClass=GetMapiProperty(lpProp,PR_MESSAGE_CLASS); ++ if (msgClass && !strcmp("IPM.Contact",msgClass->Value.lpszA)) ++ { ++ if (kPriEmailColumn) ++ upRealTag = kPriEmailColumn | TagMaps[i].TypeMask; ++ } ++ else ++ { ++ FreeBuffer(msgClass); ++ upRealTag = aPropertyTag; ++ } ++ } ++ else //PR_DISPLAY_NAME_A == aPropertyTag ++ { ++ addr=GetMapiProperty(lpProp,aPropertyTag); ++ if (!addr || PROP_TYPE( addr->ulPropTag) == PT_ERROR || ++ addr->Value.l == MAPI_E_NOT_FOUND) ++ { ++ if (kPriEmailColumn) ++ upRealTag = kPriEmailColumn | TagMaps[i].TypeMask; ++ } ++ } ++ } ++ else //aTest ++ { ++ if (kPriEmailColumn) ++ upRealTag = kPriEmailColumn | TagMaps[i].TypeMask; ++ } ++ ++ break; //we find it,exit ++ } ++ } ++ ++ return upRealTag; ++} ++ ++BOOL nsMapiAddressBook::GetPropertyLong(const nsMapiEntry& aObject, ++ ULONG aPropertyTag, ++ ULONG& aValue) ++{ ++ aValue = 0 ; ++ LPSPropValue values = NULL ; ++ ULONG valueCount = 0 ; ++ ++ if (PR_OBJECT_TYPE == aPropertyTag) ++ { ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> pFolder ; ++ ULONG objType=0; ++ mLastError = OpenEntry(aObject.mByteCount,aObject.mEntryId, ++ NULL,MAPI_BEST_ACCESS,&objType, pFolder); ++ if (HR_FAILED(mLastError)) ++ { ++ PRINTF(("Cannot open folder %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ LPSPropValue msgClass=GetMapiProperty(*(LPMAPIFOLDER*)&pFolder,PR_MESSAGE_CLASS); ++ if (msgClass && strcmp("IPM.DistList",msgClass->Value.lpszA) == 0) ++ { ++ FreeBuffer(msgClass); ++ aValue = MAPI_DISTLIST; ++ return TRUE; ++ } ++ } + ++ if (!GetMAPIProperties(aObject, &aPropertyTag, 1, values, valueCount)) ++ return FALSE ; + ++ if (valueCount == 1 && values && PROP_TYPE(values->ulPropTag) == PT_LONG) { ++ aValue = values->Value.ul ; ++ } ++ FreeBuffer(values) ; ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::GetPropertyDate(const nsMapiEntry& aObject, ULONG aPropertyTag, ++ WORD& aYear, WORD& aMonth, WORD& aDay) ++{ ++ aYear = 0; ++ aMonth = 0; ++ aDay = 0; ++ LPSPropValue values = NULL ; ++ ULONG valueCount = 0 ; ++ ++ if (!GetMAPIProperties(aObject, &aPropertyTag, 1, values, valueCount)) ++ return FALSE ; ++ ++ if (valueCount == 1 && values && PROP_TYPE(values->ulPropTag) == PT_SYSTIME) { ++ SYSTEMTIME readableTime ; ++ FILETIME localTime ; ++ FileTimeToLocalFileTime(&values->Value.ft,&localTime); ++ if (FileTimeToSystemTime(&localTime, &readableTime)) { ++ aYear = readableTime.wYear ; ++ aMonth = readableTime.wMonth ; ++ aDay = readableTime.wDay ; ++ } ++ } ++ FreeBuffer(values) ; ++ return TRUE ; ++} ++ ++HRESULT nsMapiAddressBook::OpenEntry(ULONG cbEntryID, ++ LPENTRYID lpEntryID, ++ LPCIID lpInterface, ++ ULONG ulFlags, ++ ULONG FAR * lpulObjType, ++ LPUNKNOWN FAR * lppUnk ++ ) ++{ ++ ++ int err; ++ HRESULT rv; ++ __try ++ { ++ rv=mRootSession->OpenEntry(cbEntryID, ++ lpEntryID, ++ lpInterface, ++ ulFlags , ++ lpulObjType, ++ lppUnk ++ ); ++ }__except(err) ++ { ++ return (-1); ++ } ++ ++ if (HR_FAILED(rv) && !m_MDBArray.Count()) ++ { ++ //There are no openned Message store,so we have to open them all ++ nsMapiEntryArray aFolders; ++ if (GetFolders(aFolders)) ++ { ++ __try ++ { ++ rv=mRootSession->OpenEntry(cbEntryID, ++ lpEntryID, ++ lpInterface, ++ ulFlags , ++ lpulObjType, ++ lppUnk ++ ); ++ }__except(err) ++ { ++ return (-1); ++ } ++ } ++ } ++ return rv; ++ ++} ++ ++BOOL nsMapiAddressBook::AddEntryToList(const nsMapiEntry& aDistlist, const nsMapiEntry& aNewEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> container ; ++ ULONG objType = 0 ; ++ ++ nsMapiEntry parentEntry; ++ if (!GetEntryParent(aDistlist,parentEntry)) ++ return FALSE; ++ ++ LPMDB lpMsgStore=GetMsgStore(parentEntry); ++ ++ if (!lpMsgStore) ++ return FALSE; ++ mLastError = lpMsgStore->OpenEntry(aDistlist.mByteCount, aDistlist.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ lpMsgStore->Release(); ++ ++ if (HR_FAILED(mLastError)) ++ return FALSE ; ++ ++ ++ /* ++ When add mail address to distlist,Mapi need update 2 tag. ++ */ ++ //update OUTLOOK_EMAIL_LIST1 ++ ULONG listTag=GetEmailPropertyTag(*(LPMAPIPROP*)&container,OUTLOOK_EMAIL_LIST1) | PT_MV_BINARY; ++ SBinaryArray oldChilds; ++ LPSBinary bins=NULL; ++ SBinaryArray newChilds; ++ LPSPropValue oldChildValue = NULL ; ++ ULONG valueCount = 0 ; ++ ++ if (!GetMAPIProperties(aDistlist, &listTag, 1, oldChildValue, valueCount)) ++ { ++ PRINTF(("Cannot get old childs %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ ++ if (! (oldChildValue->Value.l == MAPI_E_NOT_FOUND)) ++ { ++ oldChilds = oldChildValue->Value.MVbin; ++ newChilds.cValues=oldChilds.cValues + 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ for (ULONG i=0;i<oldChilds.cValues;i++) ++ { ++ newChilds.lpbin[i].lpb = oldChilds.lpbin[i].lpb; ++ newChilds.lpbin[i].cb = oldChilds.lpbin[i].cb; ++ } ++ } ++ else ++ { ++ newChilds.cValues = 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ } ++ ++ nsMapiEntry orgEntryID; ++ if (!GetPropertyBin(aNewEntry, ++ GetEmailPropertyTag(*(LPMAPIPROP*)&container,OUTLOOK_EMAIL_ORGID) | PT_BINARY, ++ orgEntryID)) ++ { ++ return FALSE; ++ } ++ newChilds.lpbin[newChilds.cValues-1].lpb = NS_REINTERPRET_CAST(unsigned char *, orgEntryID.mEntryId); ++ newChilds.lpbin[newChilds.cValues-1].cb = orgEntryID.mByteCount; ++ ++ SPropValue childs; ++ childs.ulPropTag = listTag; ++ childs.Value.MVbin = newChilds; ++ ++ LPSPropProblemArray problems = NULL ; ++ mLastError = container->SetProps(1, &childs, &problems) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set childs %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ //update OUTLOOK_EMAIL_LIST2 ++ listTag = GetEmailPropertyTag(*(LPMAPIPROP*)&container,OUTLOOK_EMAIL_LIST2) | PT_MV_BINARY; ++ if (!GetMAPIProperties(aDistlist, &listTag, 1, oldChildValue, valueCount)) ++ { ++ PRINTF(("Cannot get old childs %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ ++ if (! (oldChildValue->Value.l == MAPI_E_NOT_FOUND)) ++ { ++ oldChilds = oldChildValue->Value.MVbin; ++ newChilds.cValues=oldChilds.cValues + 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ for (ULONG i=0;i<oldChilds.cValues;i++) ++ { ++ newChilds.lpbin[i].lpb = oldChilds.lpbin[i].lpb; ++ newChilds.lpbin[i].cb = oldChilds.lpbin[i].cb; ++ } ++ } ++ else ++ { ++ newChilds.cValues = 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ } ++ ++ /* ++ Need more work here. ++ There are two kind of mail address in outlook DistList. ++ One is sample,not include in parent folder. ++ The other is a link to a unattached address in parents folders. ++ Currently we can only add first kind of address to a outlook distlist. ++ */ ++ ++ newChilds.lpbin[newChilds.cValues-1].lpb = NS_REINTERPRET_CAST(unsigned char *, orgEntryID.mEntryId); ++ newChilds.lpbin[newChilds.cValues-1].cb = orgEntryID.mByteCount; ++ ++ childs.ulPropTag = listTag; ++ childs.Value.MVbin = newChilds; ++ ++ mLastError = container->SetProps(1, &childs, &problems) ; ++ if (HR_FAILED(mLastError)) ++ { ++ PRINTF(("Cannot set childs %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ mMAPIFreeBuffer(bins); ++ ++ mLastError = container->SaveChanges(KEEP_OPEN_READONLY) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot commit new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ return TRUE ; ++} ++BOOL nsMapiAddressBook::DeleteEntryFromList(const nsMapiEntry& aDistlist, const nsMapiEntry& aNewEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> container ; ++ ULONG objType = 0 ; ++ ++ nsMapiEntry parentEntry; ++ if (!GetEntryParent(aDistlist,parentEntry)) ++ return FALSE; ++ ++ LPMDB lpMsgStore=GetMsgStore(parentEntry); ++ if (!lpMsgStore) ++ return FALSE; ++ ++ mLastError = lpMsgStore->OpenEntry(aDistlist.mByteCount, aDistlist.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ lpMsgStore->Release(); ++ ++ if (HR_FAILED(mLastError)) ++ return FALSE ; ++ /* ++ When delete mail address from distlist,Mapi need update 2 tag. ++ */ ++ //update OUTLOOK_EMAIL_LIST1 ++ ULONG listTag=GetEmailPropertyTag(*(LPMAPIPROP*)&container,OUTLOOK_EMAIL_LIST1) | PT_MV_BINARY; ++ ++ SBinaryArray oldChilds; ++ LPSBinary bins=NULL; ++ SBinaryArray newChilds; ++ LPSPropValue oldChildValue = NULL ; ++ ULONG valueCount = 0 ; ++ ++ newChilds.lpbin=NULL; ++ ++ ULONG lDeleteEntry=0; ++ ULONG newIndex=0; ++ ULONG oldIndex=0; ++ if (!GetMAPIProperties(aDistlist, &listTag, 1, oldChildValue, valueCount)) ++ { ++ PRINTF(("Cannot get old childs %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ ++ if (! (oldChildValue->Value.l == MAPI_E_NOT_FOUND)) ++ { ++ oldChilds = oldChildValue->Value.MVbin; ++ newChilds.cValues=oldChilds.cValues - 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ for (oldIndex=0;oldIndex<oldChilds.cValues;oldIndex++) ++ { ++ if ( oldChilds.lpbin[oldIndex].cb == aNewEntry.mByteCount && ++ !memcmp((void*)(oldChilds.lpbin[oldIndex].lpb+4), ++ (void*)(aNewEntry.mEntryId->ab), ++ oldChilds.lpbin[oldIndex].cb-4)) ++ { ++ lDeleteEntry=oldIndex; ++ } ++ else ++ { ++ newChilds.lpbin[newIndex].lpb = oldChilds.lpbin[oldIndex].lpb; ++ newChilds.lpbin[newIndex].cb = oldChilds.lpbin[oldIndex].cb; ++ newIndex++; ++ } ++ } ++ } ++ else ++ return FALSE; ++ ++ ++ SPropValue childs; ++ LPSPropProblemArray problems = NULL ; ++ ++ if (newChilds.cValues == 0) ++ { ++ SPropTagArray delTags; ++ delTags.cValues = 1; ++ delTags.aulPropTag[0] = listTag; ++ ++ mLastError = container->DeleteProps(&delTags, &problems) ; ++ } ++ else ++ { ++ childs.ulPropTag = listTag; ++ childs.Value.MVbin = newChilds; ++ mLastError = container->SetProps(1, &childs, &problems) ; ++ } ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set childs %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ //update OUTLOOK_EMAIL_LIST2 ++ listTag = GetEmailPropertyTag(*(LPMAPIPROP*)&container,OUTLOOK_EMAIL_LIST2) | PT_MV_BINARY; ++ if (!GetMAPIProperties(aDistlist, &listTag, 1, oldChildValue, valueCount)) ++ { ++ PRINTF(("Cannot get old childs %08x.\n", mLastError)) ; ++ return FALSE; ++ } ++ ++ newIndex=0; ++ if (! (oldChildValue->Value.l == MAPI_E_NOT_FOUND)) ++ { ++ oldChilds = oldChildValue->Value.MVbin; ++ newChilds.cValues=oldChilds.cValues - 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ for (oldIndex=0;oldIndex<oldChilds.cValues;oldIndex++) ++ { ++ if (oldIndex != lDeleteEntry) ++ { ++ newChilds.lpbin[newIndex].lpb = oldChilds.lpbin[oldIndex].lpb; ++ newChilds.lpbin[newIndex].cb = oldChilds.lpbin[oldIndex].cb; ++ newIndex++; ++ } ++ } ++ } ++ else ++ { ++ newChilds.cValues = 1; ++ mMAPIAllocateBuffer(sizeof(SBinary) * newChilds.cValues,(void**)& bins); ++ newChilds.lpbin = bins; ++ } + + ++ ++ if (newChilds.cValues == 0) ++ { ++ SPropTagArray delTags; ++ delTags.cValues = 1; ++ delTags.aulPropTag[0] = listTag; ++ ++ mLastError = container->DeleteProps(&delTags, &problems) ; ++ } ++ else ++ { ++ childs.ulPropTag = listTag; ++ childs.Value.MVbin = newChilds; ++ mLastError = container->SetProps(1, &childs, &problems) ; ++ } ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set childs %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ mMAPIFreeBuffer(bins); ++ ++ mLastError = container->SaveChanges(KEEP_OPEN_READONLY) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot commit new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::GetEntryParent(const nsMapiEntry& aParent, nsMapiEntry& aParentEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object ; ++ ULONG objType = 0 ; ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ (IUnknown **)&object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ SPropValue *parentID=GetMapiProperty(*(LPMAPIPROP*)&object, PR_PARENT_ENTRYID); ++ ++ if (parentID->Value.l == MAPI_E_NOT_FOUND) ++ return FALSE; ++ aParentEntry.Assign(parentID->Value.bin.cb, NS_REINTERPRET_CAST(LPENTRYID, parentID->Value.bin.lpb)); ++ return TRUE; ++} ++BOOL nsMapiAddressBook::CreateEntryInList(const nsMapiEntry& aDistlist, nsMapiEntry& aNewEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> container ; ++ ULONG objType = 0 ; ++ ++ nsMapiEntry parentEntry; ++ if (!GetEntryParent(aDistlist,parentEntry)) ++ { ++ return FALSE; ++ } ++ nsMapiInterfaceWrapper<LPMESSAGE> newEntry ; ++ if (!CreateEntry(parentEntry,aNewEntry)) //Create a entry in parent folder ++ return FALSE; ++ ++ return AddEntryToList(aDistlist,aNewEntry); ++} ++ ++BOOL nsMapiAddressBook::CreateEntry(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> container ; ++ ULONG objType = 0 ; ++ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object; ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return NULL ; ++ } ++ LPSPropValue msgClass=GetMapiProperty(*(LPMAPIPROP*)&object,PR_MESSAGE_CLASS); ++ ++ if (msgClass && strcmp("IPM.DistList",msgClass->Value.lpszA) == 0) ++ return CreateEntryInList(aParent,aNewEntry); //Create entry in DistList ++ ++ LPMDB lpMsgStore=GetMsgStore(aParent); ++ ++ if (!lpMsgStore) ++ return FALSE; ++ ++ mLastError = lpMsgStore->OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIFolder, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ lpMsgStore->Release(); ++ ++ if (HR_FAILED(mLastError)) ++ return FALSE; ++ ++ nsMapiInterfaceWrapper<LPMESSAGE> newEntry ; ++ ++ mLastError = container->CreateMessage(&IID_IMessage, ++ 0, ++ newEntry) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot create new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ SPropValue messageclass ; ++ LPSPropProblemArray problems = NULL ; ++ nsCString tempName ; ++ ++ messageclass.ulPropTag = PR_MESSAGE_CLASS_A ; ++ tempName.Assign("IPM.Contact") ; ++ messageclass.Value.lpszA = NS_CONST_CAST(char *, tempName.get()) ; ++ mLastError = newEntry->SetProps(1, &messageclass, &problems) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set temporary name %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ mLastError = newEntry->SaveChanges(KEEP_OPEN_READONLY) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot commit new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ SPropTagArray property ; ++ LPSPropValue value = NULL ; ++ ULONG valueCount = 0 ; ++ ++ property.cValues = 1 ; ++ property.aulPropTag [0] = PR_ENTRYID ; ++ mLastError = newEntry->GetProps(&property, 0, &valueCount, &value) ; ++ if (HR_FAILED(mLastError) || valueCount != 1) { ++ PRINTF(("Cannot get entry id %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ aNewEntry.Assign(value->Value.bin.cb, NS_REINTERPRET_CAST(LPENTRYID, value->Value.bin.lpb)) ; ++ FreeBuffer(value) ; ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::CreateDistList(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> container ; ++ ULONG objType = 0 ; ++ ++ LPMDB lpMsgStore=GetMsgStore(aParent); ++ if (!lpMsgStore) ++ return FALSE; ++ mLastError = lpMsgStore->OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIFolder, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ lpMsgStore->Release(); ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open container %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ nsMapiInterfaceWrapper<LPMESSAGE> newEntry ; ++ mLastError = container->CreateMessage(&IID_IMAPIProp, ++ 0, ++ newEntry) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot create new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ SPropValue messageclass ; ++ LPSPropProblemArray problems = NULL ; ++ nsCString tempName ; ++ ++ messageclass.ulPropTag = PR_MESSAGE_CLASS_A ; ++ tempName.Assign("IPM.DistList") ; ++ messageclass.Value.lpszA = NS_CONST_CAST(char *, tempName.get()) ; ++ mLastError = newEntry->SetProps(1, &messageclass, &problems) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set PR_MESSAGE_CLASS_A %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ mLastError = newEntry->SaveChanges(KEEP_OPEN_READONLY) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot commit new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ ULONG valueCount = 0 ; ++ SPropTagArray property ; ++ LPSPropValue value = NULL ; ++ ++ property.cValues = 1 ; ++ property.aulPropTag [0] = PR_ENTRYID ; ++ mLastError = newEntry->GetProps(&property, 0, &valueCount, &value) ; ++ if (HR_FAILED(mLastError) || valueCount != 1) { ++ PRINTF(("Cannot get entry id %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ aNewEntry.Assign(value->Value.bin.cb, NS_REINTERPRET_CAST(LPENTRYID, value->Value.bin.lpb)) ; ++ ++ FreeBuffer(value) ; ++ return TRUE ; ++} ++ ++ ++BOOL nsMapiAddressBook::CopyEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aSource, ++ nsMapiEntry& aTarget) ++{ ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> container ; ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> targetFolder ; ++ ULONG objType = 0 ; ++ nsMapiInterfaceWrapper<LPMAPIPROP> object; ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ LPSPropValue msgClass=GetMapiProperty(*(LPMAPIPROP*)&object,PR_MESSAGE_CLASS); ++ ++ if (msgClass && strcmp("IPM.DistList",msgClass->Value.lpszA) == 0) ++ { ++ //Add Entry To DistList ++ if (!AddEntryToList(aContainer,aSource)) ++ return FALSE; ++ aTarget.Assign(aSource.mByteCount,aSource.mEntryId); ++ return TRUE; ++ } ++ ++ SBinary entry ; ++ SBinaryArray entryArray ; ++ ++ entry.cb = aSource.mByteCount ; ++ entry.lpb = NS_REINTERPRET_CAST(LPBYTE, aSource.mEntryId) ; ++ entryArray.cValues = 1 ; ++ entryArray.lpbin = &entry ; ++ ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ &IID_IMAPIFolder, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open container %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ mLastError = OpenEntry(aTarget.mByteCount, aTarget.mEntryId, ++ &IID_IMAPIFolder, MAPI_BEST_ACCESS, &objType, ++ targetFolder) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open Target folder %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ nsMapiInterfaceWrapper<LPMAPIPROP> newEntry ; ++ ++ mLastError = container->CopyMessages(&entryArray, ++ &IID_IMessage, ++ (void*)&targetFolder, ++ 0, ++ NULL, ++ NULL) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot create new entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ return TRUE ; ++} ++ ++BOOL nsMapiAddressBook::DeleteEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIFOLDER> container ; ++ ULONG objType = 0 ; ++ SBinary entry ; ++ SBinaryArray entryArray ; ++ ++ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object; ++ mLastError = OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS, &objType, ++ object) ; ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ LPSPropValue msgClass=GetMapiProperty(*(LPMAPIPROP*)&object,PR_MESSAGE_CLASS); ++ ++ if (msgClass && strcmp("IPM.DistList",msgClass->Value.lpszA) == 0) ++ return DeleteEntryFromList(aContainer,aEntry); //Delete Entry from DistList ++ ++ LPMDB lpMsgStore=GetMsgStore(aContainer); ++ if (!lpMsgStore) ++ return FALSE; ++ ++ mLastError = lpMsgStore->OpenEntry(aContainer.mByteCount, aContainer.mEntryId, ++ &IID_IMAPIFolder, MAPI_BEST_ACCESS, &objType, ++ container) ; ++ lpMsgStore->Release(); ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open container %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ entry.cb = aEntry.mByteCount ; ++ entry.lpb = NS_REINTERPRET_CAST(LPBYTE, aEntry.mEntryId) ; ++ entryArray.cValues = 1 ; ++ entryArray.lpbin = &entry ; ++ mLastError = container->DeleteMessages(&entryArray, 0,0,0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot delete entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ return TRUE ; ++} ++ ++//Use to open message store in write mode ++LPMDB nsMapiAddressBook::GetMsgStore(const nsMapiEntry& aEntry) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object; ++ ULONG objType=0; ++ ++ mLastError = OpenEntry(aEntry.mByteCount, aEntry.mEntryId, ++ &IID_IMAPIProp, MAPI_BEST_ACCESS , &objType, ++ object) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return NULL ; ++ } ++ SPropValue *svMsgSore=GetMapiProperty( *(LPMAPIPROP*)&object, PR_STORE_ENTRYID);; ++ ++ LPMDB lpMsgStore=NULL; ++ mLastError=mRootSession->OpenMsgStore(0, ++ svMsgSore->Value.bin.cb, ++ (ENTRYID*)svMsgSore->Value.bin.lpb, ++ &IID_IMsgStore, ++ MAPI_BEST_ACCESS , ++ &lpMsgStore); ++ ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open MsgStore %08x.\n", mLastError)) ; ++ return NULL ; ++ } ++ ++ return lpMsgStore; ++} +--- misc/mozilla/mailnews/addrbook/src/nsMapiAddressBook.h 2004-04-17 20:32:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsMapiAddressBook.h 2008-08-14 16:22:21.000000000 +0200 +@@ -40,12 +40,42 @@ + + #include "nsAbWinHelper.h" + ++struct TagMap ++{ ++ ULONG AddressTag; ++ ULONG NameID; ++ ULONG TypeMask; ++}; + class nsMapiAddressBook : public nsAbWinHelper + { + public : + nsMapiAddressBook(void) ; + virtual ~nsMapiAddressBook(void) ; + ++ // Get the top address books ++ virtual BOOL GetFolders(nsMapiEntryArray& aFolders); ++ ++ // Get a default address book container ++ virtual BOOL GetDefaultContainer(nsMapiEntry& aContainer); ++ // Is the helper correctly initialised? ++ virtual BOOL IsOK(void); ++ virtual BOOL GetPropertyLong(const nsMapiEntry& aObject, ++ ULONG aPropertyTag, ++ ULONG& aValue); ++ // Get the value of a MAPI property of type SYSTIME ++ virtual BOOL GetPropertyDate(const nsMapiEntry& aObject, ULONG aPropertyTag, ++ WORD& aYear, WORD& aMonth, WORD& aDay); ++ // Create entry in the address book ++ virtual BOOL CreateEntry(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; ++ // Delete an entry in the address book ++ virtual BOOL DeleteEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aEntry) ; ++ // Create a distribution list in the address book ++ virtual BOOL CreateDistList(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry) ; ++ // Copy an existing entry in the address book ++ virtual BOOL CopyEntry(const nsMapiEntry& aContainer, const nsMapiEntry& aSource, nsMapiEntry& aTarget) ; ++ ++ static void FreeMapiLibrary(void) ; ++ + protected : + // Class members to handle the library/entry points + static HMODULE mLibrary ; +@@ -67,19 +97,77 @@ + static BOOL mInitialized ; + static BOOL mLogonDone ; + static LPMAPISESSION mRootSession ; +- static LPADRBOOK mRootBook ; ++ + + // Load the MAPI environment + BOOL Initialize(void) ; ++ ++ virtual HRESULT OpenEntry(ULONG cbEntryID, ++ LPENTRYID lpEntryID, ++ LPCIID lpInterface, ++ ULONG ulFlags, ++ ULONG FAR * lpulObjType, ++ LPUNKNOWN FAR * lppUnk ++ ); ++ ++ ++ // Retrieve the contents of a container, with an optional restriction ++ virtual BOOL GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, ++ nsMapiEntryArray *aList, ULONG aMapiType) ; ++ // Retrieve the values of a set of properties on a MAPI object ++ virtual BOOL GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, ++ ULONG aNbProperties, ++ LPSPropValue& aValues, ULONG& aValueCount) ; ++ // Set the values of a set of properties on a MAPI object ++ virtual BOOL SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, ++ LPSPropValue& aValues); ++ ++ + // Allocation of a buffer for transmission to interfaces + virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) ; + // Destruction of a buffer provided by the interfaces + virtual void FreeBuffer(LPVOID aBuffer) ; + // Library management + static BOOL LoadMapiLibrary(void) ; +- static void FreeMapiLibrary(void) ; ++ ++ BOOL HandleContentsItem(ULONG oType, ULONG cb, LPENTRYID pEntry,nsMapiEntryArray& aFolders); ++ LPSPropValue GetMapiProperty( LPMAPIPROP pProp, ULONG tag); ++ BOOL GetEntryIdFromProp( LPSPropValue pVal, ULONG& cbEntryId, LPENTRYID& lpEntryId, BOOL delVal=FALSE); ++ BOOL HandleHierarchyItem( ULONG oType, ULONG cb, LPENTRYID pEntry,nsMapiEntryArray& aFolders); ++ BOOL IterateHierarchy(IMAPIContainer * pFolder, nsMapiEntryArray& aFolders,ULONG flags=0); ++ ULONG GetEmailPropertyTag(LPMAPIPROP lpProp, LONG nameID); ++ ULONG GetRealMapiPropertyTag(LPMAPIPROP lpProp, LONG aPropertyTag,BOOL aTest=FALSE); ++ LPMDB GetMsgStore(const nsMapiEntry& aEntry); ++ BOOL CreateEntryInList(const nsMapiEntry& aParent, nsMapiEntry& aNewEntry); ++ BOOL AddEntryToList(const nsMapiEntry& aParent,const nsMapiEntry& aNewEntry); ++ BOOL DeleteEntryFromList(const nsMapiEntry& aDistlist, const nsMapiEntry& aNewEntry); ++ BOOL GetEntryParent(const nsMapiEntry& aParent, nsMapiEntry& aParentEntry); ++ BOOL CorrectRestriction(const LPMAPIPROP aMapiProp,ULONG aRestrictionNum, LPSRestriction aRestriction); ++ ++ //filter ++ BOOL Filter( LPSRestriction aRestriction,nsMapiEntryArray * aList); ++ BOOL FilterOnOneRow(nsMapiEntry *aEntry,LPSRestriction aRestriction); ++ BOOL AtomyFilter(LPSRestriction aRestriction,LPSPropValue aRealValue,LPSPropValue aFilterValue); ++ ++ void AddToMDBArray(LPMDB aMDB) ++ { ++ m_MDBArray.AppendElement(aMDB); ++ } ++ void CleanUpMDB() ++ { ++ LPMDB mdb; ++ for (int i = 0; i < m_MDBArray.Count(); i++) ++ { ++ mdb = (LPMDB)m_MDBArray.ElementAt(i); ++ mdb->Release(); ++ } ++ m_MDBArray.Clear(); ++ } + + private : ++ //use to keep all openned MsgStore,if we not open a message store,we can't open any thing on it ++ //so we have to kill message stores openned ++ nsVoidArray m_MDBArray; + } ; + + #endif // nsMapiAddressBook_h___ +--- misc/mozilla/mailnews/addrbook/src/nsWabAddressBook.cpp 2004-11-05 16:13:32.000000000 +0100 ++++ misc/build/mozilla/mailnews/addrbook/src/nsWabAddressBook.cpp 2008-08-14 16:22:21.000000000 +0200 +@@ -46,6 +46,22 @@ + + #define PRINTF(args) PR_LOG(gWabAddressBookLog, PR_LOG_DEBUG, args) + ++enum ++{ ++ ContentsColumnEntryId = 0, ++ ContentsColumnObjectType, ++ ContentsColumnsSize ++} ; ++ ++static const SizedSPropTagArray(ContentsColumnsSize, ContentsColumns) = ++{ ++ ContentsColumnsSize, ++ { ++ PR_ENTRYID, ++ PR_OBJECT_TYPE ++ } ++} ; ++ + HMODULE nsWabAddressBook::mLibrary = NULL ; + PRInt32 nsWabAddressBook::mLibUsage = 0 ; + LPWABOPEN nsWabAddressBook::mWABOpen = NULL ; +@@ -94,7 +110,7 @@ + MOZ_DECL_CTOR_COUNTER(nsWabAddressBook) + + nsWabAddressBook::nsWabAddressBook(void) +-: nsAbWinHelper() ++: nsAbWinHelper(),mAddressBook(NULL) + { + BOOL result = Initialize() ; + +@@ -109,9 +125,254 @@ + MOZ_COUNT_DTOR(nsWabAddressBook) ; + } + ++BOOL nsWabAddressBook::GetFolders(nsMapiEntryArray& aFolders) ++{ ++ aFolders.CleanUp() ; ++ nsMapiInterfaceWrapper<LPABCONT> rootFolder ; ++ nsMapiInterfaceWrapper<LPMAPITABLE> folders ; ++ ULONG objType = 0 ; ++ ULONG rowCount = 0 ; ++ SRestriction restriction ; ++ SPropTagArray folderColumns ; ++ ++ mLastError = OpenEntry(0, NULL, NULL, 0, &objType, ++ rootFolder); ++ if (HR_FAILED(mLastError)){ ++ PRINTF(("Cannot open root %08x.\n", mLastError)); ++ return FALSE; ++ } ++ mLastError = rootFolder->GetHierarchyTable(0, folders); ++ if (HR_FAILED(mLastError)){ ++ PRINTF(("Cannot get hierarchy %08x.\n", mLastError)); ++ return FALSE; ++ } ++ // We only take into account modifiable containers, ++ // otherwise, we end up with all the directory services... ++ restriction.rt = RES_BITMASK ; ++ restriction.res.resBitMask.ulPropTag = PR_CONTAINER_FLAGS ; ++ restriction.res.resBitMask.relBMR = BMR_NEZ ; ++ restriction.res.resBitMask.ulMask = AB_MODIFIABLE ; ++ mLastError = folders->Restrict(&restriction, 0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot restrict table %08x.\n", mLastError)) ; ++ } ++ folderColumns.cValues = 1 ; ++ folderColumns.aulPropTag [0] = PR_ENTRYID ; ++ mLastError = folders->SetColumns(&folderColumns, 0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set columns %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ mLastError = folders->GetRowCount(0, &rowCount) ; ++ if (HR_SUCCEEDED(mLastError)) { ++ do { ++ LPSRowSet rowSet = NULL ; ++ ++ rowCount = 0 ; ++ mLastError = folders->QueryRows(1, 0, &rowSet) ; ++ if (HR_SUCCEEDED(mLastError)) { ++ rowCount = rowSet->cRows ; ++ if (rowCount > 0) { ++ SPropValue& currentValue = rowSet->aRow->lpProps [0] ; ++ ++ aFolders.AddItem(currentValue.Value.bin.cb, ++ NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; ++ } ++ MyFreeProws(rowSet) ; ++ } ++ else { ++ PRINTF(("Cannot query rows %08x.\n", mLastError)) ; ++ } ++ } while (rowCount > 0) ; ++ } ++ return HR_SUCCEEDED(mLastError) ; ++} ++BOOL nsWabAddressBook::GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, ++ nsMapiEntryArray *aList, ULONG aMapiType) ++{ ++ if (aList) { aList->CleanUp(); } ++ nsMapiInterfaceWrapper<LPMAPICONTAINER> parent ; ++ nsMapiInterfaceWrapper<LPMAPITABLE> contents ; ++ ULONG objType = 0 ; ++ ULONG rowCount = 0 ; ++ ++ mLastError = OpenEntry(aParent.mByteCount, aParent.mEntryId, ++ &IID_IMAPIContainer, 0, &objType, ++ parent) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open parent %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ // Here, flags for WAB and MAPI could be different, so this works ++ // only as long as we don't want to use any flag in GetContentsTable ++ mLastError = parent->GetContentsTable(0, contents) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot get contents %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ if (aRestriction) { ++ mLastError = contents->Restrict(aRestriction, 0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set restriction %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ } ++ int entryId = ContentsColumnEntryId ; ++ int objectType = ContentsColumnObjectType ; ++ ++ if (aRestriction) ++ { ++ LPSPropTagArray allColumns = NULL ; ++ ++ mLastError = contents->QueryColumns(TBL_ALL_COLUMNS, &allColumns) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot query columns %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ ++ for (unsigned int j = 0 ; j < allColumns->cValues ; ++ j) { ++ if (allColumns->aulPropTag [j] == PR_ENTRYID) { ++ entryId = j ; ++ } ++ else if (allColumns->aulPropTag [j] == PR_OBJECT_TYPE) { ++ objectType = j ; ++ } ++ } ++ mLastError = contents->SetColumns(allColumns, 0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set columns %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ FreeBuffer(allColumns) ; ++ } ++ else ++ { ++ ++ mLastError = contents->SetColumns((LPSPropTagArray) &ContentsColumns, 0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot set columns %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ } ++ ++ mLastError = contents->GetRowCount(0, &rowCount) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot get result count %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ do { ++ LPSRowSet rowSet = NULL ; ++ ++ rowCount = 0 ; ++ mLastError = contents->QueryRows(1, 0, &rowSet) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot query rows %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ rowCount = rowSet->cRows ; ++ if (rowCount > 0 && ++ (aMapiType == 0 || ++ rowSet->aRow->lpProps[objectType].Value.ul == aMapiType)) { ++ if (aList) { ++ SPropValue& currentValue = rowSet->aRow->lpProps[entryId] ; ++ ++ aList->AddItem(currentValue.Value.bin.cb, ++ NS_REINTERPRET_CAST(LPENTRYID, currentValue.Value.bin.lpb)) ; ++ ++ } ++ } ++ MyFreeProws(rowSet) ; ++ } while (rowCount > 0) ; ++ return TRUE ; ++} ++ ++BOOL nsWabAddressBook::GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, ++ ULONG aNbProperties, LPSPropValue& aValue, ++ ULONG& aValueCount) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object ; ++ IMsgStore * mdb=NULL; ++ ULONG objType = 0 ; ++ LPSPropTagArray properties = NULL ; ++ ULONG i = 0 ; ++ ++ mLastError = OpenEntry(aObject.mByteCount, aObject.mEntryId, ++ &IID_IMAPIProp, 0, &objType, ++ object) ; ++ ++ if (HR_FAILED(mLastError)){ ++ PRINTF(("Cannot open entry %08x.\n", mLastError)); ++ return FALSE; ++ } ++ AllocateBuffer(CbNewSPropTagArray(aNbProperties), ++ NS_REINTERPRET_CAST(void **, &properties)); ++ properties->cValues = aNbProperties; ++ for (i = 0 ; i < aNbProperties ; ++ i) { ++ properties->aulPropTag [i] = aPropertyTags [i]; ++ } ++ mLastError = object->GetProps(properties, 0, &aValueCount, &aValue); ++ FreeBuffer(properties); ++ if (HR_FAILED(mLastError)){ ++ PRINTF(("Cannot get props %08x.\n", mLastError)); ++ } ++ return HR_SUCCEEDED(mLastError) ; ++} ++ ++BOOL nsWabAddressBook::SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, ++ LPSPropValue& aValues) ++{ ++ nsMapiInterfaceWrapper<LPMAPIPROP> object ; ++ ULONG objType = 0 ; ++ LPSPropProblemArray problems = NULL ; ++ ++ mLastError = OpenEntry(aObject.mByteCount, aObject.mEntryId, ++ &IID_IMAPIProp, MAPI_MODIFY, &objType, ++ object) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot open entry %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ mLastError = object->SetProps(aNbProperties, aValues, &problems) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot update the object %08x.\n", mLastError)) ; ++ return FALSE ; ++ } ++ if (problems) { ++ for (ULONG i = 0 ; i < problems->cProblem ; ++ i) { ++ PRINTF(("Problem %d: index %d code %08x.\n", i, ++ problems->aProblem [i].ulIndex, ++ problems->aProblem [i].scode)); ++ } ++ } ++ mLastError = object->SaveChanges(0) ; ++ if (HR_FAILED(mLastError)) { ++ PRINTF(("Cannot commit changes %08x.\n", mLastError)) ; ++ } ++ return HR_SUCCEEDED(mLastError) ; ++} ++ ++BOOL nsWabAddressBook::GetDefaultContainer(nsMapiEntry& aContainer) ++{ ++ LPENTRYID entryId = NULL; ++ ULONG byteCount = 0; ++ ++ mLastError = mAddressBook->GetPAB(&byteCount, &entryId); ++ if (HR_FAILED(mLastError)){ ++ PRINTF(("Cannot get PAB %08x.\n", mLastError)); ++ return FALSE; ++ } ++ aContainer.Assign(byteCount, entryId); ++ FreeBuffer(entryId) ; ++ return TRUE ; ++} ++ ++BOOL nsWabAddressBook::IsOK(void) ++{ ++ return mAddressBook != NULL ; ++} ++ + BOOL nsWabAddressBook::Initialize(void) + { +- if (mAddressBook) { return TRUE ; } + nsAutoLock guard(mMutex) ; + + if (!LoadWabLibrary()) { +--- misc/mozilla/mailnews/addrbook/src/nsWabAddressBook.h 2004-04-17 20:32:14.000000000 +0200 ++++ misc/build/mozilla/mailnews/addrbook/src/nsWabAddressBook.h 2008-08-14 16:22:21.000000000 +0200 +@@ -47,6 +47,15 @@ + nsWabAddressBook(void) ; + virtual ~nsWabAddressBook(void) ; + ++ // Get the top address books ++ virtual BOOL GetFolders(nsMapiEntryArray& aFolders); ++ ++ // Get a default address book container ++ virtual BOOL GetDefaultContainer(nsMapiEntry& aContainer); ++ // Is the helper correctly initialised? ++ virtual BOOL IsOK(void); ++ static void FreeWabLibrary(void) ; ++ + protected : + // Session and address book that will be shared by all instances + // (see nsMapiAddressBook.h for details) +@@ -57,15 +66,46 @@ + static HMODULE mLibrary ; + static LPWABOPEN mWABOpen ; + ++ LPADRBOOK mAddressBook ; ++ + // Load the WAB environment + BOOL Initialize(void) ; ++ ++ virtual HRESULT OpenEntry(ULONG cbEntryID, ++ LPENTRYID lpEntryID, ++ LPCIID lpInterface, ++ ULONG ulFlags, ++ ULONG FAR * lpulObjType, ++ LPUNKNOWN FAR * lppUnk ++ ) ++ { ++ return mAddressBook->OpenEntry(cbEntryID, ++ lpEntryID, ++ lpInterface, ++ ulFlags, ++ lpulObjType, ++ lppUnk ++ ); ++ } ++ ++ ++ // Retrieve the contents of a container, with an optional restriction ++ virtual BOOL GetContents(const nsMapiEntry& aParent, LPSRestriction aRestriction, ++ nsMapiEntryArray *aList, ULONG aMapiType) ; ++ // Retrieve the values of a set of properties on a MAPI object ++ virtual BOOL GetMAPIProperties(const nsMapiEntry& aObject, const ULONG *aPropertyTags, ++ ULONG aNbProperties, ++ LPSPropValue& aValues, ULONG& aValueCount) ; ++ // Set the values of a set of properties on a MAPI object ++ virtual BOOL SetMAPIProperties(const nsMapiEntry& aObject, ULONG aNbProperties, ++ LPSPropValue& aValues) ; ++ + // Allocation of a buffer for transmission to interfaces + virtual void AllocateBuffer(ULONG aByteCount, LPVOID *aBuffer) ; + // Destruction of a buffer provided by the interfaces + virtual void FreeBuffer(LPVOID aBuffer) ; + // Manage the library + static BOOL LoadWabLibrary(void) ; +- static void FreeWabLibrary(void) ; + + private : + } ; +--- misc/mozilla/modules/libpref/src/Makefile.in 2006-02-03 15:44:52.000000000 +0100 ++++ misc/build/mozilla/modules/libpref/src/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -91,7 +91,7 @@ + PREF_JS_EXPORTS += $(srcdir)/init/non-shared.txt + endif + +-EXTRA_DSO_LDOPTS = \ ++EXTRA_DSO_LDOPTS += \ + $(LIBS_DIR) \ + $(MOZ_JS_LIBS) \ + $(MOZ_COMPONENT_LIBS) \ +--- misc/mozilla/netwerk/protocol/http/src/nsHttpConnectionMgr.cpp 2005-07-20 20:31:42.000000000 +0200 ++++ misc/build/mozilla/netwerk/protocol/http/src/nsHttpConnectionMgr.cpp 2008-08-20 15:45:06.000000000 +0200 +@@ -277,7 +277,7 @@ + nsresult + nsHttpConnectionMgr::UpdateParam(nsParamName name, PRUint16 value) + { +- PRUint32 param = (PRUint32(name) << 16) | PRUint32(value); ++ PRUint32 param = (NS_PTR_TO_INT32(name) << 16) | NS_PTR_TO_INT32(value); + return PostEvent(&nsHttpConnectionMgr::OnMsgUpdateParam, 0, (void *) param); + } + +--- misc/mozilla/nsprpub/build/cygwin-wrapper 2006-12-22 14:47:17.000000000 +0100 ++++ misc/build/mozilla/nsprpub/build/cygwin-wrapper 2008-08-14 16:22:21.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + # + # Stupid wrapper to avoid win32 dospath/cygdrive issues + # Try not to spawn programs from within this file. If the stuff in here looks royally +--- misc/mozilla/nsprpub/config/autoconf.mk.in 2006-12-22 14:47:17.000000000 +0100 ++++ misc/build/mozilla/nsprpub/config/autoconf.mk.in 2008-08-14 16:22:21.000000000 +0200 +@@ -22,6 +22,7 @@ + RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@ + OBJDIR_NAME = @OBJDIR_NAME@ + OBJDIR = @OBJDIR@ ++LIB_PREFIX = @LIB_PREFIX@ + OBJ_SUFFIX = @OBJ_SUFFIX@ + LIB_SUFFIX = @LIB_SUFFIX@ + DLL_SUFFIX = @DLL_SUFFIX@ +--- misc/mozilla/nsprpub/config/rules.mk 2006-12-22 14:47:17.000000000 +0100 ++++ misc/build/mozilla/nsprpub/config/rules.mk 2008-12-12 10:09:34.437500000 +0100 +@@ -111,9 +111,9 @@ + # other platforms do not. + # + ifeq (,$(filter-out WIN95 OS2,$(OS_TARGET))) +-LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) ++LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) + SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) +-IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).$(LIB_SUFFIX) ++IMPORT_LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(LIB_SUFFIX) + SHARED_LIB_PDB = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).pdb + else + LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) +@@ -340,6 +340,10 @@ + else # AIX 4.1 + ifeq ($(NS_USE_GCC)_$(OS_ARCH),_WINNT) + $(LINK_DLL) -MAP $(DLLBASE) $(DLL_LIBS) $(EXTRA_LIBS) $(OBJS) $(RES) ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ ++ rm -f $@.manifest; \ ++ fi + else + ifeq ($(MOZ_OS2_TOOLS),VACPP) + $(LINK_DLL) $(DLLBASE) $(OBJS) $(OS_LIBS) $(EXTRA_LIBS) $(MAPFILE) +--- misc/mozilla/nsprpub/configure 2008-01-29 20:27:43.000000000 +0100 ++++ misc/build/mozilla/nsprpub/configure 2008-08-14 16:22:21.000000000 +0200 +@@ -2737,6 +2737,7 @@ + LIB_SUFFIX=a + DLL_SUFFIX=so + ASM_SUFFIX=s ++LIB_PREFIX=lib + MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + PR_MD_ASFILES= + PR_MD_CSRCS= +@@ -3475,7 +3476,7 @@ + EOF + + CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" +- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` + if test "$MOZ_OBJFORMAT" = "elf"; then + DLL_SUFFIX=so + else +@@ -3941,7 +3942,7 @@ + CC="$CC -mno-cygwin" + CXX="$CXX -mno-cygwin" + DLL_SUFFIX=dll +- MKSHLIB='$(CC) -shared -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) $(DLLBASE) -o $(subst $(OBJDIR)/,,$(SHARED_LIBRARY))' ++ MKSHLIB='$(CC) -shared -Wl,--enable-runtime-pseudo-reloc -Wl,--export-all-symbols -Wl,--out-implib -Wl,$(IMPORT_LIBRARY) $(DLLBASE) -o $(subst $(OBJDIR)/,,$(SHARED_LIBRARY))' + RC=$WINDRES + # Use temp file for windres (bug 213281) + RCFLAGS='-O coff --use-temp-file' +@@ -3958,6 +3959,7 @@ + OBJ_SUFFIX=obj + LIB_SUFFIX=lib + DLL_SUFFIX=dll ++ LIB_PREFIX= + + # Determine compiler version + CC_VERSION=`"${CC}" -v 2>&1 | grep Version | sed -e 's|.* Version ||' -e 's| .*||'` +@@ -5766,6 +5768,7 @@ + CC="\$(CYGWIN_WRAPPER) $CC" + CXX="\$(CYGWIN_WRAPPER) $CXX" + RC="\$(CYGWIN_WRAPPER) $RC" ++ LD="\$(CYGWIN_WRAPPER) $LD" + ;; + esac + +@@ -6127,6 +6130,7 @@ + s%@LIB_SUFFIX@%$LIB_SUFFIX%g + s%@DLL_SUFFIX@%$DLL_SUFFIX%g + s%@ASM_SUFFIX@%$ASM_SUFFIX%g ++s%@LIB_PREFIX@%$LIB_PREFIX%g + s%@MKSHLIB@%$MKSHLIB%g + s%@DSO_CFLAGS@%$DSO_CFLAGS%g + s%@DSO_LDOPTS@%$DSO_LDOPTS%g +--- misc/mozilla/nsprpub/configure.in 2008-01-29 20:27:44.000000000 +0100 ++++ misc/build/mozilla/nsprpub/configure.in 2008-08-14 16:22:21.000000000 +0200 +@@ -1137,7 +1137,7 @@ + AC_DEFINE(HAVE_BSD_FLOCK) + AC_DEFINE(HAVE_SOCKLEN_T) + CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" +- MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` ++ MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` + if test "$MOZ_OBJFORMAT" = "elf"; then + DLL_SUFFIX=so + else +--- misc/mozilla/nsprpub/lib/ds/Makefile.in 2006-12-22 14:47:17.000000000 +0100 ++++ misc/build/mozilla/nsprpub/lib/ds/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -79,18 +79,22 @@ + OS_LIBS = -lc + endif + ++ifeq ($(OS_ARCH),Linux) ++MKSHLIB += -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib ++endif ++ + ifeq ($(OS_ARCH),SunOS) + OS_LIBS = -lc + MAPFILE = $(OBJDIR)/pldsmap.sun + GARBAGE += $(MAPFILE) + ifdef NS_USE_GCC + ifdef GCC_USE_GNU_LD +-MKSHLIB += -Wl,--version-script,$(MAPFILE) ++MKSHLIB += -Wl,--version-script,$(MAPFILE) -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib + else +-MKSHLIB += -Wl,-M,$(MAPFILE) ++MKSHLIB += -Wl,-M,$(MAPFILE) -Wl,-R,'$$ORIGIN' + endif + else +-MKSHLIB += -M $(MAPFILE) ++MKSHLIB += -M $(MAPFILE) -Wl,-R,'$$ORIGIN' + endif + # The -R '$ORIGIN' linker option instructs this library to search for its + # dependencies in the same directory where it resides. +--- misc/mozilla/nsprpub/lib/libc/src/Makefile.in 2006-12-22 14:47:17.000000000 +0100 ++++ misc/build/mozilla/nsprpub/lib/libc/src/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -89,18 +89,22 @@ + OS_LIBS = -lc + endif + ++ifeq ($(OS_ARCH),Linux) ++MKSHLIB += -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib ++endif ++ + ifeq ($(OS_ARCH),SunOS) + OS_LIBS = -lc + MAPFILE = $(OBJDIR)/plcmap.sun + GARBAGE += $(MAPFILE) + ifdef NS_USE_GCC + ifdef GCC_USE_GNU_LD +-MKSHLIB += -Wl,--version-script,$(MAPFILE) ++MKSHLIB += -Wl,--version-script,$(MAPFILE) -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib + else +-MKSHLIB += -Wl,-M,$(MAPFILE) ++MKSHLIB += -Wl,-M,$(MAPFILE) -Wl,-R,'$$ORIGIN' + endif + else +-MKSHLIB += -M $(MAPFILE) ++MKSHLIB += -M $(MAPFILE) -Wl,-R,'$$ORIGIN' + endif + # The -R '$ORIGIN' linker option instructs this library to search for its + # dependencies in the same directory where it resides. +--- misc/mozilla/nsprpub/pr/src/misc/prnetdb.c 2006-12-22 14:47:27.000000000 +0100 ++++ misc/build/mozilla/nsprpub/pr/src/misc/prnetdb.c 2008-08-14 16:22:21.000000000 +0200 +@@ -113,7 +113,8 @@ + #define _PR_HAVE_5_ARG_GETPROTO_R + #endif + +-#if (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) ++#if (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) || \ ++ (defined(__FreeBSD__) && __FreeBSD_version > 601103) + #define _PR_HAVE_GETPROTO_R + #define _PR_HAVE_5_ARG_GETPROTO_R + #endif +--- misc/mozilla/security/coreconf/FreeBSD.mk 2006-12-22 14:48:06.000000000 +0100 ++++ misc/build/mozilla/security/coreconf/FreeBSD.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -65,7 +65,7 @@ + + ARCH = freebsd + +-MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo aout) ++MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf) + + ifeq ($(MOZ_OBJFORMAT),elf) + DLL_SUFFIX = so +--- misc/mozilla/security/coreconf/Linux.mk 2006-12-22 14:48:06.000000000 +0100 ++++ misc/build/mozilla/security/coreconf/Linux.mk 2008-08-18 10:16:15.000000000 +0200 +@@ -139,7 +139,7 @@ + + ifeq ($(OS_RELEASE),2.0) + OS_REL_CFLAGS += -DLINUX2_0 +- MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++ MKSHLIB = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) + ifdef MAPFILE + MKSHLIB += -Wl,--version-script,$(MAPFILE) + endif +@@ -166,6 +166,7 @@ + + DSO_CFLAGS = -fPIC + DSO_LDOPTS = -shared $(ARCHFLAG) ++DSO_LDOPTS += -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib + DSO_LDFLAGS = + LDFLAGS += $(ARCHFLAG) + +--- misc/mozilla/security/coreconf/SunOS5.mk 2008-06-16 00:22:15.000000000 +0200 ++++ misc/build/mozilla/security/coreconf/SunOS5.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -161,12 +161,14 @@ + + # ld options: + # -G: produce a shared object ++# -R '$ORIGIN': search for dependencies in same directory + # -z defs: no unresolved symbols allowed + ifdef NS_USE_GCC + ifeq ($(USE_64), 1) + DSO_LDOPTS += -m64 + endif + DSO_LDOPTS += -shared -h $(notdir $@) ++ DSO_LDOPTS += -Wl,-rpath,\$$ORIGIN:\$$ORIGIN/../ure-link/lib + else + ifeq ($(USE_64), 1) + ifeq ($(OS_TEST),i86pc) +@@ -176,6 +178,7 @@ + endif + endif + DSO_LDOPTS += -G -h $(notdir $@) ++ DSO_LDOPTS += -R '$$ORIGIN' + endif + DSO_LDOPTS += -z combreloc -z defs -z ignore + +--- misc/mozilla/security/coreconf/WIN32.mk 2008-06-16 00:22:15.000000000 +0200 ++++ misc/build/mozilla/security/coreconf/WIN32.mk 2008-08-18 16:04:59.000000000 +0200 +@@ -43,24 +43,24 @@ + DEFAULT_COMPILER = cl + + ifdef NS_USE_GCC +- CC = gcc +- CCC = g++ +- LINK = ld +- AR = ar ++ CC = $(CYGWIN_WRAPPER) gcc ++ CCC = $(CYGWIN_WRAPPER) g++ ++ LINK = $(CYGWIN_WRAPPER) ld ++ AR = $(CYGWIN_WRAPPER) ar + AR += cr $@ +- RANLIB = ranlib ++ RANLIB = $(CYGWIN_WRAPPER) ranlib + BSDECHO = echo +- RC = windres.exe -O coff --use-temp-file +- LINK_DLL = $(CC) $(OS_DLLFLAGS) $(DLLFLAGS) ++ RC = $(CYGWIN_WRAPPER) windres.exe -O coff --use-temp-file ++ LINK_DLL = $(CYGWIN_WRAPPER) $(CC) $(OS_DLLFLAGS) $(DLLFLAGS) + else +- CC = cl +- CCC = cl +- LINK = link +- AR = lib ++ CC = $(CYGWIN_WRAPPER) cl ++ CCC = $(CYGWIN_WRAPPER) cl ++ LINK = $(CYGWIN_WRAPPER) link ++ AR = $(CYGWIN_WRAPPER) lib + AR += -NOLOGO -OUT:"$@" + RANLIB = echo + BSDECHO = echo +- RC = rc.exe ++ RC = $(CYGWIN_WRAPPER) rc.exe + MT = mt.exe + endif + +@@ -69,7 +69,7 @@ + else + NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall + endif +-NSINSTALL = nsinstall ++NSINSTALL = $(CYGWIN_WRAPPER) nsinstall + + MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend + MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend.exe +@@ -95,7 +95,7 @@ + # dllimport cannot be used as as a constant address. + OS_CFLAGS += -mno-cygwin -mms-bitfields -mnop-fun-dllimport + _GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY) +- DLLFLAGS += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB)) ++ DLLFLAGS += -mno-cygwin -o $@ -shared -Wl,--enable-runtime-pseudo-reloc,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB)) + ifdef BUILD_OPT + OPTIMIZER += -O2 + DEFINES += -UDEBUG -U_DEBUG -DNDEBUG +--- misc/mozilla/security/coreconf/WIN954.0.mk 2008-06-16 00:22:15.000000000 +0200 ++++ misc/build/mozilla/security/coreconf/WIN954.0.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -72,3 +72,7 @@ + endif + endif + DEFINES += -DWIN95 ++ ++ifdef NS_USE_GCC ++NSPR31_LIB_PREFIX = lib ++endif +--- misc/mozilla/security/coreconf/command.mk 2008-06-16 00:22:15.000000000 +0200 ++++ misc/build/mozilla/security/coreconf/command.mk 2008-08-19 09:58:11.000000000 +0200 +@@ -45,7 +45,7 @@ + CCF = $(CC) $(CFLAGS) + LINK_DLL = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS) + LINK_EXE = $(LINK) $(OS_LFLAGS) $(LFLAGS) +-CFLAGS = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \ ++CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \ + $(XCFLAGS) + PERL = perl + RANLIB = echo +--- misc/mozilla/security/coreconf/rules.mk 2008-06-16 00:22:15.000000000 +0200 ++++ misc/build/mozilla/security/coreconf/rules.mk 2008-08-19 10:46:57.000000000 +0200 +@@ -284,7 +284,7 @@ + $(PROGRAM): $(OBJS) $(EXTRA_LIBS) + @$(MAKE_OBJDIR) + ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) +- $(MKPROG) $(subst /,\\,$(OBJS)) -Fe$@ -link $(LDFLAGS) $(subst /,\\,$(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)) ++ $(MKPROG) $(OBJS) -Fe$@ -link $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) + ifdef MT + if test -f $@.manifest; then \ + $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ +@@ -305,11 +305,7 @@ + $(LIBRARY): $(OBJS) + @$(MAKE_OBJDIR) + rm -f $@ +-ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) +- $(AR) $(subst /,\\,$(OBJS)) +-else + $(AR) $(OBJS) +-endif + $(RANLIB) $@ + + +@@ -344,7 +340,7 @@ + ifdef NS_USE_GCC + $(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES) + else +- $(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES)) ++ $(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES) + ifdef MT + if test -f $@.manifest; then \ + $(MT) -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ +@@ -429,15 +425,15 @@ + endif + endif + +-core_abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1))) ++mozabspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1))) + + $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c + @$(MAKE_OBJDIR) + ifdef USE_NT_C_SYNTAX +- $(CC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CC) -Fo$@ -c $(CFLAGS) $(call mozabspath,$<) + else + ifdef NEED_ABSOLUTE_PATH +- $(CC) -o $@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CC) -o $@ -c $(CFLAGS) $(call mozabspath,$<) + else + $(CC) -o $@ -c $(CFLAGS) $< + endif +@@ -445,10 +441,10 @@ + + $(PROG_PREFIX)%$(OBJ_SUFFIX): %.c + ifdef USE_NT_C_SYNTAX +- $(CC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CC) -Fo$@ -c $(CFLAGS) $(call mozabspath,$<) + else + ifdef NEED_ABSOLUTE_PATH +- $(CC) -o $@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CC) -o $@ -c $(CFLAGS) $(call mozabspath,$<) + else + $(CC) -o $@ -c $(CFLAGS) $< + endif +@@ -477,10 +473,10 @@ + $(OBJDIR)/$(PROG_PREFIX)%: %.cpp + @$(MAKE_OBJDIR) + ifdef USE_NT_C_SYNTAX +- $(CCC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CCC) -Fo$@ -c $(CFLAGS) $(call mozabspath,$<) + else + ifdef NEED_ABSOLUTE_PATH +- $(CCC) -o $@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CCC) -o $@ -c $(CFLAGS) $(call mozabspath,$<) + else + $(CCC) -o $@ -c $(CFLAGS) $< + endif +@@ -501,10 +497,10 @@ + rm -f $(OBJDIR)/t_$*.cc + else + ifdef USE_NT_C_SYNTAX +- $(CCC) -Fo$@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CCC) -Fo$@ -c $(CFLAGS) $(call mozabspath,$<) + else + ifdef NEED_ABSOLUTE_PATH +- $(CCC) -o $@ -c $(CFLAGS) $(call core_abspath,$<) ++ $(CCC) -o $@ -c $(CFLAGS) $(call mozabspath,$<) + else + $(CCC) -o $@ -c $(CFLAGS) $< + endif +--- misc/mozilla/security/manager/Makefile.in 2008-06-16 00:23:29.000000000 +0200 ++++ misc/build/mozilla/security/manager/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -123,8 +123,11 @@ + ifdef CYGDRIVE_MOUNT + ABS_DIST := $(shell cygpath -w $(ABS_DIST) | sed -e 's|\\|/|g') + endif ++ifneq (,$(filter cygwin%,$(host_os))) ++ABS_DIST := $(shell cygpath -u $(ABS_DIST)) ++endif + ifneq (,$(filter mingw%,$(host_os))) +-ABS_DIST := $(shell cd $(DIST) && pwd -W) ++ABS_DIST := $(shell cygpath -u $(ABS_DIST)) + endif + endif + NSPR_INCLUDE_DIR = $(firstword $(filter -I%,$(NSPR_CFLAGS))) +@@ -172,6 +175,7 @@ + endif + ifeq ($(OS_ARCH),WINNT) + DEFAULT_GMAKE_FLAGS += OS_TARGET=WIN95 ++DEFAULT_GMAKE_FLAGS += CYGWIN_WRAPPER=@CYGWIN_WRAPPER@ + ifdef MOZ_DEBUG + ifndef MOZ_NO_DEBUG_RTL + DEFAULT_GMAKE_FLAGS += USE_DEBUG_RTL=1 +--- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2007-02-16 03:16:24.000000000 +0100 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2009-02-12 15:42:13.033408000 +0100 +@@ -86,17 +86,42 @@ + + include ../platrules.mk + +-SRCDIR = $(call core_abspath,.) +- ++ifeq ($(OS_TARGET), Darwin) ++ SRCDIR = . ++else ++ifeq ($(OS_TARGET), Linux) ++ SRCDIR = . ++else ++ SRCDIR = . ++endif ++endif + %.chk: %.$(DLL_SUFFIX) + ifeq ($(OS_TARGET), OS2) + cd $(OBJDIR) ; cmd.exe /c $(SRCDIR)/sign.cmd $(DIST) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + else +- cd $(OBJDIR) ; sh $(SRCDIR)/sign.sh $(call core_abspath,$(DIST)) \ +- $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ +- $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) ++ifeq ($(OS_TARGET), WIN95) ++ cd $(SRCDIR) ; sh $(CYGWIN_WRAPPER) ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else ++ifeq ($(OS_TARGET), Darwin) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else ++ifeq ($(OS_TARGET), Linux) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++endif ++endif ++endif + endif + + libs install :: $(CHECKLOC) +--- misc/mozilla/security/nss/lib/ckfw/builtins/config.mk 2005-01-20 03:25:46.000000000 +0100 ++++ misc/build/mozilla/security/nss/lib/ckfw/builtins/config.mk 2008-08-14 16:22:21.000000000 +0200 +@@ -63,9 +63,4 @@ + DSO_LDOPTS = -bundle + endif + +-ifeq ($(OS_TARGET),SunOS) +-# The -R '$ORIGIN' linker option instructs this library to search for its +-# dependencies in the same directory where it resides. +-MKSHLIB += -R '$$ORIGIN' +-endif + +--- misc/mozilla/security/nss/lib/freebl/Makefile 2008-06-16 00:22:09.000000000 +0200 ++++ misc/build/mozilla/security/nss/lib/freebl/Makefile 2008-08-18 14:31:08.000000000 +0200 +@@ -199,10 +199,6 @@ + endif + + ifeq ($(OS_TARGET),SunOS) +- +-# The -R '$ORIGIN' linker option instructs this library to search for its +-# dependencies in the same directory where it resides. +-MKSHLIB += -R '$$ORIGIN' + ifdef NS_USE_GCC + ifdef GCC_USE_GNU_LD + MKSHLIB += -Wl,-Bsymbolic,-z,now,-z,text +@@ -210,7 +206,7 @@ + MKSHLIB += -Wl,-B,symbolic,-z,now,-z,text + endif # GCC_USE_GNU_LD + else +- MKSHLIB += -B symbolic -z now -z text ++ MKSHLIB += -z now -z text + endif # NS_USE_GCC + + # Sun's WorkShop defines v8, v8plus and v9 architectures. +--- misc/mozilla/security/nss/lib/nss/config.mk 2006-12-22 14:47:56.000000000 +0100 ++++ misc/build/mozilla/security/nss/lib/nss/config.mk 2008-08-19 17:07:42.000000000 +0200 +@@ -113,12 +113,10 @@ + # The -R '$ORIGIN' linker option instructs this library to search for its + # dependencies in the same directory where it resides. + ifeq ($(USE_64), 1) +-MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1/64:/usr/lib/mps/64' ++DSO_LDOPTS += -R '$$ORIGIN:/usr/lib/mps/secv1/64:/usr/lib/mps/64' + else +-MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1:/usr/lib/mps' ++DSO_LDOPTS += -R '$$ORIGIN:/usr/lib/mps/secv1:/usr/lib/mps' + endif +-else +-MKSHLIB += -R '$$ORIGIN' + endif + endif + +@@ -127,9 +125,9 @@ + # pa-risc + ifeq ($(USE_64), 1) + MKSHLIB += +b '$$ORIGIN' +-endif +-endif +-endif ++endif # USE_64 ++endif # OS_TEST ++endif # OS_ARCH + + ifeq (,$(filter-out WINNT WIN95,$(OS_TARGET))) + ifndef NS_USE_GCC +--- misc/mozilla/security/nss/lib/nss/nss.def 2008-06-16 00:22:10.000000000 +0200 ++++ misc/build/mozilla/security/nss/lib/nss/nss.def 2008-08-14 16:22:21.000000000 +0200 +@@ -61,6 +61,7 @@ + CERT_CheckCertValidTimes; + CERT_CreateCertificateRequest; + CERT_ChangeCertTrust; ++CERT_DecodeDERCertificate; + CERT_DecodeDERCrl; + CERT_DestroyCertificateRequest; + CERT_DestroyCertList; +--- misc/mozilla/security/nss/lib/smime/config.mk 2006-12-22 14:48:00.000000000 +0100 ++++ misc/build/mozilla/security/nss/lib/smime/config.mk 2008-08-19 17:01:53.000000000 +0200 +@@ -92,8 +92,3 @@ + ../pkcs7 \ + $(NULL) + +-ifeq ($(OS_TARGET),SunOS) +-# The -R '$ORIGIN' linker option instructs this library to search for its +-# dependencies in the same directory where it resides. +-MKSHLIB += -R '$$ORIGIN' +-endif +--- misc/mozilla/security/nss/lib/softoken/config.mk 2006-12-22 14:48:00.000000000 +0100 ++++ misc/build/mozilla/security/nss/lib/softoken/config.mk 2008-08-20 10:36:17.000000000 +0200 +@@ -87,13 +87,6 @@ + $(NULL) + endif + +-ifeq ($(OS_TARGET),SunOS) +-# The -R '$ORIGIN' linker option instructs this library to search for its +-# dependencies in the same directory where it resides. +-MKSHLIB += -R '$$ORIGIN' +-OS_LIBS += -lbsm +-endif +- + ifeq ($(OS_TARGET),WINCE) + DEFINES += -DDBM_USING_NSPR + endif +--- misc/mozilla/security/nss/lib/ssl/config.mk 2008-06-16 00:22:12.000000000 +0200 ++++ misc/build/mozilla/security/nss/lib/ssl/config.mk 2008-08-19 17:03:03.000000000 +0200 +@@ -116,13 +116,6 @@ + EXTRA_SHARED_LIBS += -dylib_file @executable_path/libsoftokn3.dylib:$(DIST)/lib/libsoftokn3.dylib + endif + +-ifeq ($(OS_TARGET),SunOS) +-# The -R '$ORIGIN' linker option instructs this library to search for its +-# dependencies in the same directory where it resides. +-MKSHLIB += -R '$$ORIGIN' +-#EXTRA_SHARED_LIBS += -ldl -lrt -lc -z defs +-endif +- + endif + + # indicates dependency on freebl static lib +--- misc/mozilla/webshell/tests/viewer/Makefile.in 2006-06-17 18:27:10.000000000 +0200 ++++ misc/build/mozilla/webshell/tests/viewer/Makefile.in 2008-08-14 16:22:21.000000000 +0200 +@@ -181,7 +181,7 @@ + GTK_LIBS = unix/gtk/libviewer_gtk_s.a -lgtksuperwin $(XP_LIBS) $(MOZ_GTK_LDFLAGS) + + XP_DIST_DEP_LIBS := $(filter-out -L$(DIST)/bin -L$(DIST)/lib, $(XP_DIST_LIBS)) +-XP_DIST_DEP_LIBS := $(wildcard $(addprefix $(DIST)/,$(patsubst -l%,bin/$(LIB_PREFIX)%$(DLL_SUFFIX),$(XP_DIST_DEP_LIBS:-l%_s=lib/lib%_s)))*) ++XP_DIST_DEP_LIBS := $(wildcard $(addprefix $(DIST)/,$(patsubst -l%,bin/$(DLL_PREFIX)%$(DLL_SUFFIX),$(XP_DIST_DEP_LIBS:-l%_s=lib/lib%_s)))*) + + EXTRA_DEPS = \ + $(XP_DIST_DEP_LIBS) \ +--- misc/mozilla/xpcom/reflect/xptinfo/public/xptinfo.h 2004-04-18 16:18:20.000000000 +0200 ++++ misc/build/mozilla/xpcom/reflect/xptinfo/public/xptinfo.h 2008-08-14 16:22:21.000000000 +0200 +@@ -132,7 +132,7 @@ + } + + PRBool IsArray() const +- {return (PRBool) TagPart() == T_ARRAY;} ++ {return (PRBool) (TagPart() == T_ARRAY);} + + // 'Dependent' means that params of this type are dependent upon other + // params. e.g. an T_INTERFACE_IS is dependent upon some other param at +@@ -152,7 +152,7 @@ + uint8 TagPart() const + {return (uint8) (flags & XPT_TDP_TAGMASK);} + +- enum ++ enum _xpttype + { + T_I8 = TD_INT8 , + T_I16 = TD_INT16 , +--- misc/mozilla/xpfe/bootstrap/Makefile.in 2007-10-08 21:09:58.000000000 +0200 ++++ misc/build/mozilla/xpfe/bootstrap/Makefile.in 2008-08-18 14:10:04.000000000 +0200 +@@ -115,11 +115,14 @@ + + include $(topsrcdir)/config/config.mk + ++# reduce prerequisites by disabling mozilla binary ++ifndef DISABLE_MOZ_EXECUTABLE + ifeq ($(USE_SHORT_LIBNAME),1) + PROGRAM = $(MOZ_APP_NAME)$(BIN_SUFFIX) + else + PROGRAM = $(MOZ_APP_NAME)-bin$(BIN_SUFFIX) + endif ++endif + + # Force applications to be built non-statically + # when building the mozcomps meta component +@@ -491,6 +494,7 @@ + APP_NAME = $(MOZ_APP_DISPLAYNAME) + endif + ++ifdef PROGRAM + libs:: $(PROGRAM) + mkdir -p $(DIST)/$(APP_NAME).app/Contents/MacOS + rsync -a --exclude CVS --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/$(APP_NAME).app +@@ -505,6 +509,7 @@ + rsync -a --copy-unsafe-links $(DIST)/package/PrintPDE.plugin $(DIST)/$(APP_NAME).app/Contents/Plug-Ins + cp -RL $(DIST)/package/mozillaSuite.rsrc $(DIST)/$(APP_NAME).app/Contents/Resources/$(PROGRAM).rsrc + echo -n APPLMOZZ > $(DIST)/$(APP_NAME).app/Contents/PkgInfo ++endif + + clean clobber:: + rm -rf $(DIST)/$(APP_NAME).app +--- /dev/null 2011-07-24 19:07:44.290563140 +0200 ++++ misc/build/mozilla/security/coreconf/Linux3.0.mk 2011-07-24 22:21:02.710513995 +0200 +@@ -0,0 +1,13 @@ ++include $(CORE_DEPTH)/coreconf/Linux.mk ++ ++DSO_LDOPTS += -Wl,-z,defs ++ ++OS_REL_CFLAGS += -DLINUX2_1 ++MKSHLIB = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) ++ ++ifdef MAPFILE ++ MKSHLIB += -Wl,--version-script,$(MAPFILE) ++endif ++PROCESS_MAP_FILE = grep -v ';-' $< | \ ++ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ ++ diff --git a/moz/zipped/makefile.mk b/moz/zipped/makefile.mk new file mode 100644 index 000000000000..0ea80c02dc3e --- /dev/null +++ b/moz/zipped/makefile.mk @@ -0,0 +1,213 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=.. + +PRJNAME=moz +TARGET=moz_unzip + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +.IF "$(PREBUILD_MOZAB)" == "" || "$(SYSTEM_MOZILLA)" == "YES" || "$(WITH_MOZILLA)" == "NO" + +dummy: + @echo "No need to unpack the prebuilt mozab packages" + +.ELSE # unpack mozab zips +.INCLUDE : target.mk + +.IF "$(BUILD_MOZAB)"=="TRUE" +ALLTAR: + @echo "Does not need build mozab zipped!" +.ELSE +ALLTAR: \ + $(MISC)$/unpacked_$(TARGET)_inc \ + $(MISC)$/unpacked_$(TARGET)_lib \ + $(BIN)$/mozruntime.zip \ + $(MISC)$/replace_old_nss_libs +.ENDIF +.IF "$(GUI)" == "UNX" + +$(MISC)$/unpacked_%_lib : $(OS)$(COM)$(CPU)lib.zip '$(OS)$(COM)$(CPU)runtime.zip' + unzip -o -d $(LB) $(OS)$(COM)$(CPU)lib.zip && unzip -o -d $(LB) $(OS)$(COM)$(CPU)runtime.zip && $(TOUCH) $@ + chmod -R 775 $(LB) + +$(MISC)$/unpacked_%_inc : $(OS)$(COM)$(CPU)inc.zip + unzip -o -d $(INCCOM) $(OS)$(COM)$(CPU)inc.zip && $(TOUCH) $@ + chmod -R 775 $(INCCOM) + +.ELSE + +$(MISC)$/unpacked_$(TARGET)_lib : $(OS)$(COM)$(CPU)lib.zip + unzip -o -d $(LB) $(OS)$(COM)$(CPU)lib.zip && \ + $(TOUCH) $@ + +$(MISC)$/unpacked_$(TARGET)_inc : $(OS)$(COM)$(CPU)inc.zip + unzip -o -d $(INCCOM) $(OS)$(COM)$(CPU)inc.zip && $(TOUCH) $@ + +.ENDIF + +$(BIN)$/mozruntime%zip : $(OS)$(COM)$(CPU)runtime.zip + $(COPY) $(OS)$(COM)$(CPU)runtime.zip $(BIN)$/mozruntime.zip + +# add alternative rules for universal binary moz-zips +.IF "$(GUIBASE)" == "aqua" +$(MISC)$/unpacked_%_lib : $(OS)$(COM)UBlib.zip '$(OS)$(COM)UBruntime.zip' + unzip -o -d $(LB) $(OS)$(COM)UBlib.zip && unzip -o -d $(LB) $(OS)$(COM)UBruntime.zip && $(TOUCH) $@ + chmod -R 775 $(LB) + +$(MISC)$/unpacked_%_inc : $(OS)$(COM)UBinc.zip + unzip -o -d $(INCCOM) $(OS)$(COM)UBinc.zip && $(TOUCH) $@ + chmod -R 775 $(INCCOM) + +$(BIN)$/mozruntime%zip : $(OS)$(COM)UBruntime.zip + $(COPY) $(OS)$(COM)UBruntime.zip $(BIN)$/mozruntime.zip + +.ENDIF # "$(GUIBASE)"=="aqua" + +LIBLIST = +BIN_RUNTIMELIST = +NSS_INCLUDE_LIST = +NSS_MODULE_RUNTIME_LIST = +.IF "$(ENABLE_NSS_MODULE)"=="YES" +# The prebuilt moz files include all the old NSS stuff from moz and not the new +# NSS libs, headers, etc, from the separate nss module. If we use the nss module +# then we must take care not to deliver the old NSS stuff from the "prebuilts" +.IF "$(GUI)" == "WNT" + FREEBL_LIB_OLD=freebl3 +.ELSE # "$(GUI)" == "WNT" + .IF "$(OS)$(CPUNAME)" == "SOLARISSPARC" + FREEBL_LIB_OLD=freebl_32fpu_3 + .ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC" + FREEBL_LIB_OLD=freebl3 + .ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC" +.ENDIF # "$(GUI)" == "WNT" + +BIN_RUNTIMELIST= \ + $(FREEBL_LIB_OLD) \ + nspr4 \ + plc4 \ + plds4 \ + nss3 \ + ssl3 \ + softokn3 \ + smime3 + +.IF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +LIBLIST= \ + libnspr4.a \ + libnss3.a \ + libsmime3.a \ + libplc4.a \ + libplds4.a \ + libssl3.a + +.ELSE +LIBLIST= \ + nspr4.lib \ + plc4.lib \ + plds4.lib \ + nss3.lib \ + ssl3.lib\ + smime3.lib +.ENDIF +.ELSE #"$(GUI)"=="WNT" +LIBLIST= \ + lib$(FREEBL_LIB_OLD)$(DLLPOST) \ + libnspr4$(DLLPOST) \ + libsoftokn3$(DLLPOST) \ + libplc4$(DLLPOST) \ + libplds4$(DLLPOST) \ + libnss3$(DLLPOST) \ + libssl3$(DLLPOST) \ + libsmime3$(DLLPOST) + +.ENDIF # .IF "$(GUI)"=="WNT" + + +NSS_INCLUDE_LIST= nspr nss + + +.IF "$(OS)" == "SOLARIS" +.IF "$(CPU)" == "S" #32bit +FREEBL=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3 +.ELIF "$(CPU)" == "U" #64bit unxsolu4 +FREEBL=freebl_64int_3 freebl_64fpu_3 +.ELSE +FREEBL=freebl3 +.ENDIF #"$(CPU)" == "S" + +.ELSE # "$(OS)" == "SOLARIS" +FREEBL=freebl3 +.ENDIF # "$(OS)" == "SOLARIS" + + +#On Linux/Unix sqlite is delivered to $(SOLARLIBDIR)/sqlite/libsqlite3.so +#See readme.txt in module nss +NSS_MODULE_RUNTIME_LIST:= \ + $(FREEBL) \ + nspr4 \ + nss3 \ + nssckbi \ + nssdbm3 \ + nssutil3 \ + plc4 \ + plds4 \ + smime3 \ + softokn3 \ + sqlite/sqlite3 \ + ssl3 + + +.ENDIF #.IF "$(ENABLE_NSS_MODULE)"=="YES" +# Remove the nss libs build in moz and those build in the nss module +$(MISC)$/replace_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \ +$(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip + +$(foreach,dir,$(NSS_INCLUDE_LIST) $(RENAME:s/+//) $(INCCOM)$/$(dir) \ + $(INCCOM)$/$(dir)_remove_me &&) echo >& $(NULLDEV) + $(foreach,dir,$(NSS_INCLUDE_LIST) rm -r -f $(INCCOM)$/$(dir)_remove_me &&) \ + echo >& $(NULLDEV) + $(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \ + echo >& $(NULLDEV) + $(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.IF "$(GUI)"=="WNT" + +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib:f)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.ELSE + +$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(lib:d)$(DLLPRE)$(lib:f)$(DLLPOST) &&) \ + echo >& $(NULLDEV) +.ENDIF + $(TOUCH) $@ + +.ENDIF # unpack mozab zips + diff --git a/neon/makefile.mk b/neon/makefile.mk new file mode 100644 index 000000000000..c92a84936f46 --- /dev/null +++ b/neon/makefile.mk @@ -0,0 +1,91 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=so_neon +TARGET=so_neon + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +.IF "$(SYSTEM_NEON)" == "YES" +@all: + @echo "Using system neon...." +.ENDIF + +.IF "$(DISABLE_NEON)" == "TRUE" +@all: + @echo "neon disabled...." +.ENDIF + +NEON_NAME=neon-0.29.5 + +TARFILE_NAME=$(NEON_NAME) +TARFILE_MD5=ff369e69ef0f0143beb5626164e87ae2 +PATCH_FILES=neon.patch + +.IF "$(GUI)"=="WNT" + PATCH_FILES+=neon_exports_win.patch +.ELSE + PATCH_FILES+=neon_exports_unix.patch +.ENDIF + +ADDITIONAL_FILES=src$/makefile.mk src$/config.h + +BUILD_DIR=src +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +OUT2INC= \ + $(BUILD_DIR)$/ne_207.h \ + $(BUILD_DIR)$/ne_alloc.h \ + $(BUILD_DIR)$/ne_auth.h \ + $(BUILD_DIR)$/ne_basic.h \ + $(BUILD_DIR)$/ne_compress.h \ + $(BUILD_DIR)$/ne_defs.h \ + $(BUILD_DIR)$/ne_locks.h \ + $(BUILD_DIR)$/ne_props.h \ + $(BUILD_DIR)$/ne_redirect.h \ + $(BUILD_DIR)$/ne_request.h \ + $(BUILD_DIR)$/ne_session.h \ + $(BUILD_DIR)$/ne_socket.h \ + $(BUILD_DIR)$/ne_ssl.h \ + $(BUILD_DIR)$/ne_string.h \ + $(BUILD_DIR)$/ne_uri.h \ + $(BUILD_DIR)$/ne_utils.h \ + $(BUILD_DIR)$/ne_xml.h \ + $(BUILD_DIR)$/ne_xmlreq.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + diff --git a/neon/neon.patch b/neon/neon.patch new file mode 100644 index 000000000000..b7a3f8514335 --- /dev/null +++ b/neon/neon.patch @@ -0,0 +1,967 @@ +--- misc/neon-0.29.5/src/config.h 2011-02-03 10:32:38.000000000 +0100 ++++ misc/build/neon-0.29.5/src/config.h 2011-02-03 10:26:19.000000000 +0100 +@@ -1 +1,488 @@ +-dummy ++ ++/* Define to specific EGD socket path */ ++/* #undef EGD_PATH */ ++ ++/* Define if EGD should be supported */ ++/* #undef ENABLE_EGD */ ++ ++/* Define if GSS_C_NT_HOSTBASED_SERVICE is not defined otherwise */ ++/* #undef GSS_C_NT_HOSTBASED_SERVICE */ ++ ++/* Define to 1 if you have the <arpa/inet.h> header file. */ ++#ifdef UNX ++#define HAVE_ARPA_INET_H 1 ++#endif ++ ++/* Define to 1 if you have the `bind_textdomain_codeset' function. */ ++/* #undef HAVE_BIND_TEXTDOMAIN_CODESET 1 */ ++ ++/* Define to 1 if you have the declaration of `h_errno', and to 0 if you ++ don't. */ ++#ifdef WIN32 ++#define HAVE_DECL_H_ERRNO 1 ++#endif ++ ++/* Define to 1 if you have the declaration of `stpcpy', and to 0 if you don't. ++ */ ++#ifdef LINUX ++#define HAVE_DECL_STPCPY 1 ++#endif ++ ++/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you ++ don't. */ ++#ifdef LINUX ++#define HAVE_DECL_STRERROR_R 1 ++#endif ++ ++/* Define to 1 if you have the <dlfcn.h> header file. */ ++#ifdef UNX ++#define HAVE_DLFCN_H 1 ++#endif ++ ++/* Define to 1 if you have the <errno.h> header file. */ ++#define HAVE_ERRNO_H 1 ++ ++/* Define if you have expat */ ++/* #undef HAVE_EXPAT */ ++ ++/* Define to 1 if you have the `fstat64' function. */ ++#define HAVE_FSTAT64 ++ ++/* Define to 1 if you have the `gai_strerror' function. */ ++#define HAVE_GAI_STRERROR 1 ++ ++/* Define if GnuTLS support is enabled */ ++/* #undef HAVE_GNUTLS */ ++ ++/* Define to 1 if you have the `gnutls_session_get_data2' function. */ ++/* #undef HAVE_GNUTLS_SESSION_GET_DATA2 */ ++ ++/* Define if GSSAPI support is enabled */ ++/* #undef HAVE_GSSAPI */ ++ ++/* Define to 1 if you have the <gssapi/gssapi_generic.h> header file. */ ++/* #undef HAVE_GSSAPI_GSSAPI_GENERIC_H */ ++ ++/* Define to 1 if you have the <gssapi/gssapi.h> header file. */ ++/* #undef HAVE_GSSAPI_GSSAPI_H */ ++ ++/* Define to 1 if you have the <gssapi.h> header file. */ ++/* #undef HAVE_GSSAPI_H */ ++ ++/* Define to 1 if you have the `gss_init_sec_context' function. */ ++/* #undef HAVE_GSS_INIT_SEC_CONTEXT */ ++ ++/* Define to 1 if you have the `hstrerror' function. */ ++/* #undef HAVE_HSTRERROR */ ++ ++/* Define to 1 if you have the `inet_ntop' function. */ ++#ifdef UNX ++#define HAVE_INET_NTOP 1 ++#endif ++ ++/* Define to 1 if you have the <inttypes.h> header file. */ ++#ifdef UNX ++#define HAVE_INTTYPES_H 1 ++#endif ++ ++/* Define to 1 if you have the `isatty' function. */ ++#define HAVE_ISATTY 1 ++ ++/* Define to 1 if you have the <libintl.h> header file. */ ++/* #undef HAVE_LIBINTL_H */ ++ ++/* Define if you have libxml */ ++#define HAVE_LIBXML 1 ++ ++/* Define to 1 if you have the <libxml/parser.h> header file. */ ++#define HAVE_LIBXML_PARSER_H 1 ++ ++/* Define to 1 if you have the <libxml/xmlversion.h> header file. */ ++#define HAVE_LIBXML_XMLVERSION_H 1 ++ ++/* Define to 1 if you have the <limits.h> header file. */ ++#define HAVE_LIMITS_H 1 ++ ++/* Define to 1 if you have the <locale.h> header file. */ ++#define HAVE_LOCALE_H 1 ++ ++/* Define to 1 if you have the `lseek64' function. */ ++#define HAVE_LSEEK64 1 ++ ++/* Define to 1 if you have the <memory.h> header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the <netdb.h> header file. */ ++#ifdef UNX ++#define HAVE_NETDB_H 1 ++#endif ++ ++/* Define to 1 if you have the <netinet/in.h> header file. */ ++#ifdef UNX ++#define HAVE_NETINET_IN_H 1 ++#endif ++ ++/* Define to 1 if you have the <netinet/tcp.h> header file. */ ++#ifdef UNX ++#define HAVE_NETINET_TCP_H 1 ++#endif ++ ++/* Define if OpenSSL support is enabled */ ++#define HAVE_OPENSSL 1 ++ ++/* Define to 1 if you have the <openssl/opensslv.h> header file. */ ++#define HAVE_OPENSSL_OPENSSLV_H 1 ++ ++/* Define to 1 if you have the <openssl/ssl.h> header file. */ ++#define HAVE_OPENSSL_SSL_H 1 ++ ++/* Define to 1 if you have the `pipe' function. */ ++#define HAVE_PIPE 1 ++ ++/* Define to 1 if you have the `poll' function. */ ++#define HAVE_POLL 1 ++ ++/* Define to 1 if you have the `pthread_mutex_init' function. */ ++/* #undef HAVE_PTHREAD_MUTEX_INIT */ ++ ++/* Define to 1 if you have the `pthread_mutex_lock' function. */ ++/* #undef HAVE_PTHREAD_MUTEX_LOCK */ ++ ++/* Define to 1 if you have the `setlocale' function. */ ++#define HAVE_SETLOCALE 1 ++ ++/* Define to 1 if you have the `setsockopt' function. */ ++#if defined (LINUX) || defined (WIN32) ++#define HAVE_SETSOCKOPT 1 ++#endif ++ ++/* Define to 1 if you have the `setvbuf' function. */ ++#define HAVE_SETVBUF 1 ++ ++/* Define to 1 if you have the `shutdown' function. */ ++#ifdef LINUX ++#define HAVE_SHUTDOWN 1 ++#endif ++ ++/* Define to 1 if you have the `signal' function. */ ++#define HAVE_SIGNAL 1 ++ ++/* Define to 1 if you have the <signal.h> header file. */ ++#define HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if you have the `snprintf' function. */ ++#ifdef UNX ++#define HAVE_SNPRINTF 1 ++#endif ++ ++#ifdef WIN32 ++#define snprintf _snprintf ++#endif ++ ++/* Define to 1 if you have the <socks.h> header file. */ ++/* #undef HAVE_SOCKS_H */ ++ ++/* Define to 1 if you have the <stdarg.h> header file. */ ++#define HAVE_STDARG_H 1 ++ ++/* Define to 1 if you have the <stdint.h> header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the <stdlib.h> header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the `stpcpy' function. */ ++#ifdef LINUX ++#define HAVE_STPCPY 1 ++#endif ++ ++/* Define to 1 if you have the `strcasecmp' function. */ ++#ifdef UNX ++#define HAVE_STRCASECMP 1 ++#endif ++ ++#ifdef WIN32 ++#define strcasecmp strcmpi ++#endif ++ ++/* Define to 1 if you have the `strerror_r' function. */ ++#ifdef LINUX ++#define HAVE_STRERROR_R 1 ++#endif ++ ++/* Define to 1 if you have the <strings.h> header file. */ ++#ifdef UNX ++#define HAVE_STRINGS_H 1 ++#endif ++ ++/* Define to 1 if you have the <string.h> header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strtoll' function. */ ++#define HAVE_STRTOLL 1 ++ ++/* Define to 1 if you have the `strtoq' function. */ ++/* #undef HAVE_STRTOQ */ ++ ++/* Define to 1 if `tm_gmtoff' is member of `struct tm'. */ ++#ifdef LINUX ++#define HAVE_STRUCT_TM_TM_GMTOFF 1 ++#endif ++ ++/* Define to 1 if `__tm_gmtoff' is member of `struct tm'. */ ++/* #undef HAVE_STRUCT_TM___TM_GMTOFF */ ++ ++/* Define to 1 if you have the <sys/limits.h> header file. */ ++/* #undef HAVE_SYS_LIMITS_H */ ++ ++/* Define to 1 if you have the <sys/poll.h> header file. */ ++#ifdef UNX ++#define HAVE_SYS_POLL_H 1 ++#endif ++ ++/* Define to 1 if you have the <sys/select.h> header file. */ ++#ifdef UNX ++#define HAVE_SYS_SELECT_H 1 ++#endif ++ ++/* Define to 1 if you have the <sys/socket.h> header file. */ ++#ifdef UNX ++#define HAVE_SYS_SOCKET_H 1 ++#endif ++ ++/* Define to 1 if you have the <sys/stat.h> header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the <sys/time.h> header file. */ ++#ifdef UNX ++#define HAVE_SYS_TIME_H 1 ++#endif ++ ++/* Define to 1 if you have the <sys/types.h> header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define if the timezone global is available */ ++#ifndef MACOSX ++#define HAVE_TIMEZONE 1 ++#endif ++ ++/* Use trio printf replacement library */ ++/* #undef HAVE_TRIO */ ++ ++/* Define to 1 if you have the <trio.h> header file. */ ++/* #undef HAVE_TRIO_H */ ++ ++/* Define to 1 if you have the <unistd.h> header file. */ ++#ifdef UNX ++#define HAVE_UNISTD_H 1 ++#endif ++ ++/* Define to 1 if you have the `usleep' function. */ ++#ifdef UNX ++#define HAVE_USLEEP 1 ++#endif ++ ++/* Define to 1 if you have the `vsnprintf' function. */ ++#if defined( UNX ) || (defined(_MSC_VER) && (_MSC_VER > 1400)) ++#define HAVE_VSNPRINTF 1 ++#endif ++ ++#ifdef WIN32 ++#if (defined(_MSC_VER) && (_MSC_VER < 1500)) || defined(__MINGW32__) ++#define vsnprintf _vsnprintf ++#endif ++#endif ++ ++/* Define to be location of localedir */ ++/* #undef LOCALEDIR */ ++ ++/* Defined when neon is built as a library */ ++#define NEON_IS_LIBRARY 1 ++ ++/* Define to be the neon version string */ ++#define NEON_VERSION "0.29.5" ++ ++/* Define to enable debugging */ ++/* #undef NE_DEBUGGING */ ++ ++/* Define to be printf format string for off64_t */ ++#define NE_FMT_OFF64_T "lld" ++ ++/* Define to be printf format string for off_t */ ++#define NE_FMT_OFF_T "ld" ++ ++/* Define to be printf format string for size_t */ ++#define NE_FMT_SIZE_T "u" ++ ++/* Define to be printf format string for ssize_t */ ++#define NE_FMT_SSIZE_T "d" ++ ++/* Define to be printf format string for time_t */ ++#define NE_FMT_TIME_T "ld" ++ ++/* Defined if DAV is supported */ ++#define NE_HAVE_DAV 1 ++ ++/* Defined if I18N is supported */ ++/* #undef NE_HAVE_I18N 1 */ ++ ++/* Defined if IPV6 is supported */ ++#define NE_HAVE_IPV6 1 ++ ++/* Defined if LFS is supported */ ++#define NE_HAVE_LFS 1 ++ ++/* Defined if SOCKS is supported */ ++/* #undef NE_HAVE_SOCKS */ ++ ++/* Defined if SSL is supported */ ++#define NE_HAVE_SSL ++ ++/* Defined if TS_SSL is supported */ ++/* #undef NE_HAVE_TS_SSL */ ++ ++/* Defined if ZLIB is supported */ ++#define NE_HAVE_ZLIB 1 ++ ++/* Define to be filename of an SSL CA root bundle */ ++/* #undef NE_SSL_CA_BUNDLE */ ++ ++/* Define if poll() should be used */ ++#ifdef UNX ++#define NE_USE_POLL 1 ++#endif ++ ++/* Define to be neon library major version */ ++#define NE_VERSION_MAJOR (0) ++ ++/* Define to be neon library minor version */ ++#define NE_VERSION_MINOR (29) ++ ++/* Define to be neon library patch version */ ++#define NE_VERSION_PATCH (5) ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "neon@webdav.org" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "neon" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "neon 0.29.5" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "neon" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "0.29.5" ++ ++/* The size of a `int', as computed by sizeof. */ ++#define SIZEOF_INT 4 ++ ++/* The size of a `long', as computed by sizeof. */ ++#define SIZEOF_LONG 4 ++ ++/* The size of a `long long', as computed by sizeof. */ ++#define SIZEOF_LONG_LONG 8 ++ ++/* The size of a `off64_t', as computed by sizeof. */ ++#define SIZEOF_OFF64_T 8 ++ ++/* The size of a `off_t', as computed by sizeof. */ ++#define SIZEOF_OFF_T 4 ++ ++/* The size of a `size_t', as computed by sizeof. */ ++#define SIZEOF_SIZE_T 4 ++ ++/* The size of a `ssize_t', as computed by sizeof. */ ++#define SIZEOF_SSIZE_T 4 ++ ++/* The size of a `time_t', as computed by sizeof. */ ++#define SIZEOF_TIME_T 4 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#ifdef SOLARIS ++#define STDC_HEADERS 1 ++#endif ++ ++/* Define to 1 if strerror_r returns char *. */ ++#ifdef LINUX ++#define STRERROR_R_CHAR_P 1 ++#endif ++ ++/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ ++#define TIME_WITH_SYS_TIME 1 ++ ++/* Define if getaddrinfo supports AI_ADDRCONFIG */ ++/* #undef USE_GAI_ADDRCONFIG */ ++ ++/* Define if getaddrinfo() should be used */ ++#define USE_GETADDRINFO 1 ++ ++/* Define to 1 if your processor stores words with the most significant byte ++ first (like Motorola and SPARC, unlike Intel and VAX). */ ++#if defined (SOLARIS) && defined (SPARC) ++#define WORDS_BIGENDIAN 1 ++#endif ++ ++/* Always defined to enable GNU extensions */ ++#define _GNU_SOURCE 1 ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++/* #undef const */ ++ ++/* Define if in_addr_t is not available */ ++/* #undef in_addr_t */ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++#if defined (SOLARIS) && defined (__SUNPRO_C) ++#define inline ++#endif ++#endif ++ ++/* Define to `long' if <sys/types.h> does not define. */ ++/* #undef off_t */ ++ ++/* Define to `int' if <sys/types.h> does not define. */ ++/* #undef pid_t */ ++ ++/* Define to `unsigned' if <sys/types.h> does not define. */ ++/* #undef size_t */ ++ ++/* MS IIS does not send Lock-Token response header after creation of a */ ++/* new lock. This violates RFC, but... if we want to talk with this */ ++/* beast we need a workaround */ ++#define IIS_LOCK_BUG_WORKAROUND 1 ++ ++/* Enable leak-tracking versions of ne_*alloc when NEON_MEMLEAK is enabled */ ++#ifdef NEON_MEMLEAK ++# include "memleak.h" ++#endif ++ ++#if defined(HAVE_STPCPY) && defined(HAVE_DECL_STPCPY) && !HAVE_DECL_STPCPY && !defined(stpcpy) ++char *stpcpy(char *, const char *); ++#endif ++ ++#ifdef WIN32 ++ ++#include <io.h> ++ ++#define HAVE_MEMCPY 1 ++ ++#define strncasecmp strnicmp ++#define inline __inline ++#define WIN32_LEAN_AND_MEAN ++#define NOUSER ++#define NOGDI ++#define NONLS ++#define NOCRYPT ++ ++#endif ++ ++#ifdef WIN32 ++#define HAVE_SSPI 1 ++#else ++#define HAVE_NTLM 1 ++#endif +--- misc/neon-0.29.5/src/makefile.mk 2011-02-03 10:32:38.000000000 +0100 ++++ misc/build/neon-0.29.5/src/makefile.mk 2011-02-03 10:26:19.000000000 +0100 +@@ -1,1 +1,96 @@ +-dummy ++PRJ=..$/..$/..$/..$/.. ++ ++PRJNAME=neon ++TARGET=neon ++LIBTARGET=NO ++USE_DEFFILE=TRUE ++NO_DEFAULT_STL=TRUE ++EXTERNAL_WARNINGS_NOT_ERRORS := TRUE ++UWINAPILIB= ++ ++# --- Settings ----------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++# --- Files -------------------------------------------------------- ++ ++CDEFS+=-DHAVE_CONFIG_H ++ ++.IF "$(SYSTEM_LIBXML)" == "YES" ++CFLAGS+=-DSYSTEM_LIBXML $(LIBXML_CFLAGS) ++.ELSE ++LIBXMLINCDIR=external$/libxml ++CFLAGS+= -I$(SOLARINCDIR)$/$(LIBXMLINCDIR) ++.ENDIF ++ ++.IF "$(SYSTEM_OPENSSL)" == "YES" ++CFLAGS+= $(OPENSSL_CFLAGS) ++.ENDIF ++ ++.IF "$(SYSTEM_ZLIB)" == "YES" ++CFLAGS+=-DSYSTEM_ZLIB ++.ELSE ++ZLIBINCDIR=external$/zlib ++CFLAGS+=-I$(SOLARINCDIR)$/$(ZLIBINCDIR) ++.ENDIF ++ ++SLOFILES= \ ++ $(SLO)$/ne_207.obj \ ++ $(SLO)$/ne_acl3744.obj \ ++ $(SLO)$/ne_alloc.obj \ ++ $(SLO)$/ne_auth.obj \ ++ $(SLO)$/ne_basic.obj \ ++ $(SLO)$/ne_compress.obj \ ++ $(SLO)$/ne_dates.obj \ ++ $(SLO)$/ne_i18n.obj \ ++ $(SLO)$/ne_locks.obj \ ++ $(SLO)$/ne_md5.obj \ ++ $(SLO)$/ne_props.obj \ ++ $(SLO)$/ne_redirect.obj \ ++ $(SLO)$/ne_request.obj \ ++ $(SLO)$/ne_session.obj \ ++ $(SLO)$/ne_socket.obj \ ++ $(SLO)$/ne_socks.obj \ ++ $(SLO)$/ne_string.obj \ ++ $(SLO)$/ne_uri.obj \ ++ $(SLO)$/ne_utils.obj \ ++ $(SLO)$/ne_xml.obj \ ++ $(SLO)$/ne_xmlreq.obj \ ++ $(SLO)$/ne_openssl.obj ++ ++.IF "$(OS)"=="WNT" ++SLOFILES+=$(SLO)$/ne_sspi.obj ++.ELSE ++SLOFILES+=$(SLO)$/ne_ntlm.obj ++.ENDIF ++ ++# $(SLO)$/ne_gnutls.obj \ ++# $(SLO)$/ne_stubssl.obj ++ ++SHL1OBJS=$(SLOFILES) ++SHL1TARGET=$(TARGET) ++SHL1VERSIONMAP=exports.map ++SHL1IMPLIB=i$(TARGET) ++ ++SHL1STDLIBS+= $(LIBXML2LIB) \ ++ $(ZLIB3RDLIB) ++ ++.IF "$(GUI)"=="WNT" ++ SHL1STDLIBS+= $(WS2_32LIB) ++ SHL1STDLIBS+= $(OPENSSLLIB) ++.ELSE # WNT ++ .IF "$(OS)"=="SOLARIS" ++ SHL1STDLIBS+= -lnsl -lsocket -ldl ++ .ENDIF # SOLARIS ++ .IF "$(SYSTEM_OPENSSL)"=="YES" ++ SHL1STDLIBS+= $(OPENSSLLIB) ++ .ELSE ++ SHL1STDLIBS+= $(OPENSSLLIBST) ++ .ENDIF ++.ENDIF # WNT ++ ++SHL1DEF=$(MISC)$/$(SHL1TARGET).def ++ ++# --- Targets ------------------------------------------------------ ++DEF1NAME=$(SHL1TARGET) ++.INCLUDE : target.mk +--- misc/neon-0.29.5/src/ne_auth.c 2010-10-14 17:00:53.000000000 +0200 ++++ misc/build/neon-0.29.5/src/ne_auth.c 2011-02-03 10:31:22.000000000 +0100 +@@ -367,7 +367,7 @@ + static int get_credentials(auth_session *sess, ne_buffer **errmsg, int attempt, + struct auth_challenge *chall, char *pwbuf) + { +- if (chall->handler->creds(chall->handler->userdata, sess->realm, ++ if (chall->handler->creds(chall->handler->userdata, chall->protocol->name, sess->realm, + chall->handler->attempt++, sess->username, pwbuf) == 0) { + return 0; + } else { +@@ -385,15 +385,19 @@ + { + char *tmp, password[NE_ABUFSIZ]; + ++#if 0 /* Workaround - IIS sends challenge without realm. */ ++ + /* Verify challenge... must have a realm */ + if (parms->realm == NULL) { + challenge_error(errmsg, _("missing realm in Basic challenge")); + return -1; + } ++#endif + + clean_session(sess); + +- sess->realm = ne_strdup(parms->realm); ++ if (parms->realm != NULL) ++ sess->realm = ne_strdup(parms->realm); + + if (get_credentials(sess, errmsg, attempt, parms, password)) { + /* Failed to get credentials */ +@@ -610,10 +614,12 @@ + return NULL; + } + +-static int continue_sspi(auth_session *sess, int ntlm, const char *hdr) ++static int continue_sspi(auth_session *sess, int ntlm, const char *hdr, ++ int attempt, struct auth_challenge *parms, ne_buffer **errmsg) + { + int status; + char *response = NULL; ++ char password[NE_ABUFSIZ]; + + NE_DEBUG(NE_DBG_HTTPAUTH, "auth: SSPI challenge.\n"); + +@@ -630,8 +636,17 @@ + return status; + } + } +- +- status = ne_sspi_authenticate(sess->sspi_context, hdr, &response); ++ ++ /* Authentification needs more than one http request. ++ * As long as authentification in progress use the existing credentials. ++ * Otherwise get new credentials.*/ ++ if (!hdr) ++ if (get_credentials(sess, errmsg, attempt, parms, password)) { ++ /* Failed to get credentials */ ++ return -1; ++ } ++ ++ status = ne_sspi_authenticate(sess->sspi_context, hdr, &response, sess->username, password); + if (status) { + return status; + } +@@ -651,7 +666,7 @@ + { + int ntlm = ne_strcasecmp(parms->protocol->name, "NTLM") == 0; + +- return continue_sspi(sess, ntlm, parms->opaque); ++ return continue_sspi(sess, ntlm, parms->opaque, attempt, parms, errmsg); + } + + static int verify_sspi(struct auth_request *req, auth_session *sess, +@@ -674,7 +689,7 @@ + return NE_OK; + } + +- return continue_sspi(sess, ntlm, ptr); ++ return continue_sspi(sess, ntlm, ptr, 0, NULL, NULL); + } + + #endif +--- misc/neon-0.29.5/src/ne_auth.h 2009-09-01 22:13:12.000000000 +0200 ++++ misc/build/neon-0.29.5/src/ne_auth.h 2011-02-03 10:26:20.000000000 +0100 +@@ -47,8 +47,8 @@ + * Hint: if you just wish to attempt authentication just once (even if + * the user gets the username/password wrong), have the callback + * function use 'attempt' value as the function return value. */ +-typedef int (*ne_auth_creds)(void *userdata, const char *realm, int attempt, +- char *username, char *password); ++typedef int (*ne_auth_creds)(void *userdata, const char * auth_protocol, ++ const char *realm, int attempt, char *username, char *password); + + /* Set callbacks to provide credentials for server and proxy + * authentication, using the default set of authentication protocols. +--- misc/neon-0.29.5/src/ne_defs.h 2010-01-11 23:57:34.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_defs.h 2011-02-03 10:26:20.000000000 +0100 +@@ -41,7 +41,7 @@ + #endif + + /* define ssize_t for Win32 */ +-#if defined(WIN32) && !defined(ssize_t) ++#if defined(WIN32) && !defined(ssize_t) && !defined(__MINGW32__) + #define ssize_t int + #endif + +--- misc/neon-0.29.5/src/ne_locks.c 2007-02-05 11:09:27.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_locks.c 2011-02-03 10:26:21.000000000 +0100 +@@ -579,6 +579,23 @@ + const char *token = ne_get_response_header(ctx->req, "Lock-Token"); + /* at the root element; retrieve the Lock-Token header, + * and bail if it wasn't given. */ ++#ifdef IIS_LOCK_BUG_WORKAROUND ++ /* MS IIS violates RFC 2518/4918. It does not send a Lock-Token response ++ header upon successful creation of a new lock. As a workaround, we ++ will try to pick the lock token from the response body (although ++ this is not 100% safe in case of multiple activelocks). */ ++ if (token == NULL) ++ NE_DEBUG(NE_DBG_LOCKS, ++ "Ignoring missing LOCK response Lock-Token header\n"); ++ ++ if (token != NULL) { ++ if (token[0] == '<') token++; ++ ctx->token = ne_strdup(token); ++ ne_shave(ctx->token, ">"); ++ NE_DEBUG(NE_DBG_LOCKS, "lk_startelm: Finding token %s\n", ++ ctx->token); ++ } ++#else + if (token == NULL) { + ne_xml_set_error(ctx->parser, + _("LOCK response missing Lock-Token header")); +@@ -590,12 +607,28 @@ + ne_shave(ctx->token, ">"); + NE_DEBUG(NE_DBG_LOCKS, "lk_startelm: Finding token %s\n", + ctx->token); ++#endif + } + + /* TODO: only accept 'prop' as root for LOCK response */ + if (!can_accept(parent, id)) + return NE_XML_DECLINE; + ++#ifdef IIS_LOCK_BUG_WORKAROUND ++ if (id == ELM_activelock && ctx->found) { ++ /* Found another activelock... */ ++ const char *token = ne_get_response_header(ctx->req, "Lock-Token"); ++ if (token == NULL) { ++ /* Response contains more than one activelock and no Lock-Token ++ * response header. We are doomed. No safe workaround for IIS ++ * lock bug possible. */ ++ ne_xml_set_error(ctx->parser, ++ _("LOCK response missing Lock-Token header and more than one activelock")); ++ return NE_XML_ABORT; ++ } ++ } ++#endif ++ + if (id == ELM_activelock && !ctx->found) { + /* a new activelock */ + ne_lock_free(&ctx->active); +@@ -621,7 +654,12 @@ + return -1; + + if (state == ELM_activelock) { ++#ifdef IIS_LOCK_BUG_WORKAROUND ++ if (ctx->active.token) { ++ ctx->token = ne_strdup(ctx->active.token); ++#else + if (ctx->active.token && strcmp(ctx->active.token, ctx->token) == 0) { ++#endif + ctx->found = 1; + } + } +--- misc/neon-0.29.5/src/ne_locks.h 2006-01-02 12:43:19.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_locks.h 2011-02-03 10:26:21.000000000 +0100 +@@ -22,6 +22,10 @@ + #ifndef NE_LOCKS_H + #define NE_LOCKS_H + ++# if defined __GNUC__ ++# pragma GCC system_header ++# endif ++ + #include "ne_request.h" /* for ne_session + ne_request */ + #include "ne_uri.h" /* for ne_uri */ + +--- misc/neon-0.29.5/src/ne_sspi.c 2007-08-10 17:26:08.000000000 +0200 ++++ misc/build/neon-0.29.5/src/ne_sspi.c 2011-02-03 10:26:21.000000000 +0100 +@@ -206,6 +206,45 @@ + } + + /* ++ * Simplification wrapper arround AcquireCredentialsHandle as most of ++ * the parameters do not change. ++ */ ++static int acquireCredentialsHandleForUsername(CredHandle * credentials, char *package, const char *username, const char *password) ++{ ++ SECURITY_STATUS status; ++ TimeStamp timestamp; ++ ++ const char *domain = ""; ++ ++ int rc, rcISC; ++ SecPkgInfo *secPackInfo; ++ SEC_WINNT_AUTH_IDENTITY *nameAndPwd = NULL; ++ int bytesReceived = 0, bytesSent = 0; ++ ++ nameAndPwd = (SEC_WINNT_AUTH_IDENTITY *) malloc( sizeof(SEC_WINNT_AUTH_IDENTITY) ); ++ memset( nameAndPwd, '\0', sizeof (*nameAndPwd) ); ++ nameAndPwd->Domain = (unsigned char *) _strdup( domain? domain: "" ); ++ nameAndPwd->DomainLength = domain? strlen( domain ): 0; ++ nameAndPwd->User = (unsigned char *) _strdup( username? username: "" ); ++ nameAndPwd->UserLength = username? strlen( username ): 0; ++ nameAndPwd->Password = (unsigned char *) _strdup( password? password: "" ); ++ nameAndPwd->PasswordLength = password? strlen( password ): 0; ++ nameAndPwd->Flags = SEC_WINNT_AUTH_IDENTITY_ANSI; ++ ++ status = pSFT->AcquireCredentialsHandle( NULL, package, SECPKG_CRED_OUTBOUND, ++ NULL, nameAndPwd, NULL, NULL, credentials, ×tamp ); ++ ++ if (status != SEC_E_OK) { ++ NE_DEBUG(NE_DBG_HTTPAUTH, ++ "sspi: AcquireCredentialsHandle [fail] [%x].\n", status); ++ return -1; ++ } ++ ++ return 0; ++} ++ ++ ++/* + * Wrapper arround initializeSecurityContext. Supplies several + * default parameters as well as logging in case of errors. + */ +@@ -483,7 +522,7 @@ + * Processes received authentication tokens as well as supplies the + * response token. + */ +-int ne_sspi_authenticate(void *context, const char *base64Token, char **responseToken) ++int ne_sspi_authenticate(void *context, const char *base64Token, char **responseToken, const char* username, const char* password) + { + SecBufferDesc outBufferDesc; + SecBuffer outBuffer; +@@ -561,13 +600,22 @@ + /* Reset any existing context since we are starting over */ + resetContext(sspiContext); + +- if (acquireCredentialsHandle +- (&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) { +- freeBuffer(&outBufferDesc); +- NE_DEBUG(NE_DBG_HTTPAUTH, +- "sspi: acquireCredentialsHandle failed.\n"); +- return -1; +- } ++ if (strlen(username) != 0) { ++ if (acquireCredentialsHandleForUsername ++ (&sspiContext->credentials, sspiContext->mechanism, username, password) != SEC_E_OK) { ++ freeBuffer(&outBufferDesc); ++ NE_DEBUG(NE_DBG_HTTPAUTH, "sspi: acquireCredentialsHandleForUsername failed.\n"); ++ return -1; ++ } ++ } else { ++ if (acquireCredentialsHandle ++ (&sspiContext->credentials, sspiContext->mechanism) != SEC_E_OK) { ++ freeBuffer(&outBufferDesc); ++ NE_DEBUG(NE_DBG_HTTPAUTH, "sspi: acquireCredentialsHandle failed.\n"); ++ return -1; ++ } ++ } ++ + + securityStatus = + initializeSecurityContext(&sspiContext->credentials, NULL, +--- misc/neon-0.29.5/src/ne_sspi.h 2006-02-12 13:05:14.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_sspi.h 2011-02-03 10:26:21.000000000 +0100 +@@ -41,7 +41,7 @@ + int ne_sspi_clear_context(void *context); + + int ne_sspi_authenticate(void *context, const char *base64Token, +- char **responseToken); ++ char **responseToken, const char* username, const char* password); + + #endif /* HAVE_SSPI */ + +--- misc/neon-0.29.5/src/ne_uri.c 2007-12-05 12:04:47.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_uri.c 2011-02-03 10:26:21.000000000 +0100 +@@ -42,7 +42,7 @@ + #include "ne_alloc.h" + #include "ne_uri.h" + +-/* URI ABNF from RFC 3986: */ ++/* URI ABNF from RFC 3986: (TKR: SharePoint is contradictory to this RFC. So I fix it here. )*/ + + #define PS (0x0001) /* "+" */ + #define PC (0x0002) /* "%" */ +@@ -67,6 +67,9 @@ + + #define OT (0x4000) /* others */ + ++/* TKR new symbol */ ++#define WS (0x8000) /* Whitespaces ( Space, Tab ) */ ++ + #define URI_ALPHA (AL) + #define URI_DIGIT (DG) + +@@ -83,20 +86,21 @@ + /* pchar = unreserved / pct-encoded / sub-delims / ":" / "@" */ + #define URI_PCHAR (URI_UNRESERVED | PC | URI_SUBDELIM | CL | AT) + /* invented: segchar = pchar / "/" */ +-#define URI_SEGCHAR (URI_PCHAR | FS) ++/* (TKR) WS added */ ++#define URI_SEGCHAR (URI_PCHAR | FS | WS) + /* query = *( pchar / "/" / "?" ) */ + #define URI_QUERY (URI_PCHAR | FS | QU) + /* fragment == query */ + #define URI_FRAGMENT URI_QUERY + + /* any characters which should be path-escaped: */ +-#define URI_ESCAPE ((URI_GENDELIM & ~(FS)) | URI_SUBDELIM | OT | PC) ++#define URI_ESCAPE ((URI_GENDELIM & ~(FS)) | URI_SUBDELIM | OT | WS | PC) + + static const unsigned int uri_chars[256] = { + /* 0xXX x0 x2 x4 x6 x8 xA xC xE */ +-/* 0x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, ++/* 0x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, WS, OT, OT, OT, OT, OT, OT, + /* 1x */ OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, OT, +-/* 2x */ OT, SD, OT, GD, SD, PC, SD, SD, SD, SD, SD, PS, SD, DS, DT, FS, ++/* 2x */ WS, SD, OT, GD, SD, PC, SD, SD, SD, SD, SD, PS, SD, DS, DT, FS, + /* 3x */ DG, DG, DG, DG, DG, DG, DG, DG, DG, DG, CL, SD, OT, SD, OT, QU, + /* 4x */ AT, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, + /* 5x */ AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, AL, GD, OT, GD, OT, US, +--- misc/neon-0.29.5/src/ne_utils.c 2006-03-07 10:36:43.000000000 +0100 ++++ misc/build/neon-0.29.5/src/ne_utils.c 2011-02-03 10:26:21.000000000 +0100 +@@ -118,6 +118,9 @@ + #ifdef HAVE_GNUTLS + ", GNU TLS " LIBGNUTLS_VERSION + #endif /* HAVE_GNUTLS */ ++#ifdef HAVE_SSPI ++ ", SSPI" ++#endif /* HAVE_SSPI */ + "." + ; + +@@ -137,7 +140,7 @@ + switch (feature) { + #if defined(NE_HAVE_SSL) || defined(NE_HAVE_ZLIB) || defined(NE_HAVE_IPV6) \ + || defined(NE_HAVE_SOCKS) || defined(NE_HAVE_LFS) \ +- || defined(NE_HAVE_TS_SSL) || defined(NE_HAVE_I18N) ++ || defined(NE_HAVE_TS_SSL) || defined(NE_HAVE_I18N) || defined(HAVE_SSPI) + #ifdef NE_HAVE_SSL + case NE_FEATURE_SSL: + #endif +@@ -159,6 +162,9 @@ + #ifdef NE_HAVE_I18N + case NE_FEATURE_I18N: + #endif ++#ifdef HAVE_SSPI ++ case NE_FEATURE_SSPI: ++#endif + return 1; + #endif /* NE_HAVE_* */ + default: +--- misc/neon-0.29.5/src/ne_utils.h 2007-07-16 08:54:57.000000000 +0200 ++++ misc/build/neon-0.29.5/src/ne_utils.h 2011-02-03 10:26:21.000000000 +0100 +@@ -54,6 +54,7 @@ + #define NE_FEATURE_SOCKS (5) /* SOCKSv5 support */ + #define NE_FEATURE_TS_SSL (6) /* Thread-safe SSL/TLS support */ + #define NE_FEATURE_I18N (7) /* i18n error message support */ ++#define NE_FEATURE_SSPI (8) /* NTLM/Negotiate authentication protocol via SSPI */ + + /* Returns non-zero if library is built with support for the given + * NE_FEATURE_* feature code 'code'. */ diff --git a/neon/neon_exports_unix.patch b/neon/neon_exports_unix.patch new file mode 100644 index 000000000000..d162a145d707 --- /dev/null +++ b/neon/neon_exports_unix.patch @@ -0,0 +1,291 @@ +--- misc/neon-0.29.5/src/exports.map 2009-09-29 10:28:13.531250000 +0200 ++++ misc/build/neon-0.29.5/src/exports.map 2009-09-21 12:16:53.453125000 +0200 +@@ -0,0 +1,288 @@ ++UDK_3_0_0 { ++ global: ++ ne__negotiate_ssl; ++ ne__ssl_exit; ++ ne__ssl_init; ++ ne_ssl_cert_cmp; ++ ne_ssl_cert_digest; ++ ne_ssl_cert_export; ++ ne_ssl_cert_free; ++ ne_ssl_cert_identity; ++ ne_ssl_cert_import; ++ ne_ssl_cert_issuer; ++ ne_ssl_cert_read; ++ ne_ssl_cert_signedby; ++ ne_ssl_cert_subject; ++ ne_ssl_cert_validity_time; ++ ne_ssl_cert_write; ++ ne_ssl_clicert_decrypt; ++ ne_ssl_clicert_encrypted; ++ ne_ssl_clicert_free; ++ ne_ssl_clicert_name; ++ ne_ssl_clicert_owner; ++ ne_ssl_clicert_read; ++ ne_ssl_context_create; ++ ne_ssl_context_destroy; ++ ne_ssl_context_keypair; ++ ne_ssl_context_set_flag; ++ ne_ssl_context_set_verify; ++ ne_ssl_context_trustcert; ++ ne_ssl_dname_cmp; ++ ne_ssl_readable_dname; ++ ne_ssl_set_clicert; ++ ne_ssl_trust_default_ca; ++ ne_xml_dispatch_request; ++ ne_xml_parse_response; ++ ne_xml_create; ++ ne_xml_currentline; ++ ne_xml_destroy; ++ ne_xml_doc_encoding; ++ ne_xml_failed; ++ ne_xml_get_attr; ++ ne_xml_get_error; ++ ne_xml_mapid; ++ ne_xml_parse; ++ ne_xml_parse_v; ++ ne_xml_push_handler; ++ ne_xml_resolve_nspace; ++ ne_xml_set_error; ++ ne_debug; ++ ne_debug_init; ++ ne_debug_mask; ++ ne_debug_stream; ++ ne_has_support; ++ ne_parse_statusline; ++ ne_version_match; ++ ne_version_string; ++ ne_path_childof; ++ ne_path_compare; ++ ne_path_escape; ++ ne_path_has_trailing_slash; ++ ne_path_parent; ++ ne_path_unescape; ++ ne_uri_cmp; ++ ne_uri_copy; ++ ne_uri_defaultport; ++ ne_uri_free; ++ ne_uri_parse; ++ ne_uri_resolve; ++ ne_uri_unparse; ++ ne_base64; ++ ne_buffer_altered; ++ ne_buffer_append; ++ ne_buffer_clear; ++ ne_buffer_concat; ++ ne_buffer_create; ++ ne_buffer_destroy; ++ ne_buffer_finish; ++ ne_buffer_grow; ++ ne_buffer_ncreate; ++ ne_buffer_snprintf; ++ ne_buffer_zappend; ++ ne_concat; ++ ne_qtoken; ++ ne_shave; ++ ne_snprintf; ++ ne_strcasecmp; ++ ne_strclean; ++ ne_strerror; ++ ne_strncasecmp; ++ ne_token; ++ ne_tolower_array; ++ ne_unbase64; ++ ne_vsnprintf; ++ ne__sock_sslsock; ++ ne_addr_destroy; ++ ne_addr_error; ++ ne_addr_first; ++ ne_addr_next; ++ ne_addr_resolve; ++ ne_addr_result; ++ ne_iaddr_cmp; ++ ne_iaddr_free; ++ ne_iaddr_make; ++ ne_iaddr_print; ++ ne_iaddr_reverse; ++ ne_iaddr_typeof; ++ ne_sock_accept; ++ ne_sock_accept_ssl; ++ ne_sock_block; ++ ne_sock_cipher; ++ ne_sock_close; ++ ne_sock_connect; ++ ne_sock_connect_ssl; ++ ne_sock_connect_timeout; ++ ne_sock_create; ++ ne_sock_error; ++ ne_sock_exit; ++ ne_sock_fd; ++ ne_sock_fullread; ++ ne_sock_fullwrite; ++ ne_sock_init; ++ ne_sock_peek; ++ ne_sock_peer; ++ ne_sock_prebind; ++ ne_sock_proxy; ++ ne_sock_read; ++ ne_sock_read_timeout; ++ ne_sock_readline; ++ ne_sock_sessid; ++ ne__ssl_set_verify_err; ++ ne_close_connection; ++ ne_fill_proxy_uri; ++ ne_fill_server_uri; ++ ne_get_error; ++ ne_get_scheme; ++ ne_get_server_hostport; ++ ne_get_session_flag; ++ ne_hook_close_conn; ++ ne_hook_create_request; ++ ne_hook_destroy_request; ++ ne_hook_destroy_session; ++ ne_hook_post_headers; ++ ne_hook_post_send; ++ ne_hook_pre_send; ++ ne_session_create; ++ ne_session_destroy; ++ ne_session_proxy; ++ ne_set_addrlist; ++ ne_set_connect_timeout; ++ ne_set_error; ++ ne_set_localaddr; ++ ne_set_notifier; ++ ne_set_progress; ++ ne_set_read_timeout; ++ ne_set_session_flag; ++ ne_set_session_private; ++ ne_set_useragent; ++ ne_ssl_cert_validity; ++ ne_ssl_provide_clicert; ++ ne_ssl_set_verify; ++ ne_ssl_trust_cert; ++ ne_unhook_close_conn; ++ ne_unhook_create_request; ++ ne_unhook_destroy_request; ++ ne_unhook_destroy_session; ++ ne_unhook_post_headers; ++ ne_unhook_post_send; ++ ne_unhook_pre_send; ++ ne_version_pre_http11; ++ ne_accept_2xx; ++ ne_accept_always; ++ ne_add_request_header; ++ ne_add_response_body_reader; ++ ne_begin_request; ++ ne_discard_response; ++ ne_end_request; ++ ne_get_request_flag; ++ ne_get_request_private; ++ ne_get_response_header; ++ ne_get_session; ++ ne_get_session_private; ++ ne_get_status; ++ ne_print_request_header; ++ ne_read_response_block; ++ ne_read_response_to_fd; ++ ne_request_create; ++ ne_request_destroy; ++ ne_request_dispatch; ++ ne_response_header_iterate; ++ ne_set_request_body_buffer; ++ ne_set_request_body_fd; ++ ne_set_request_body_provider; ++ ne_set_request_flag; ++ ne_set_request_private; ++ ne_redirect_location; ++ ne_redirect_register; ++ ne_propfind_allprop; ++ ne_propfind_create; ++ ne_propfind_current_private; ++ ne_propfind_destroy; ++ ne_propfind_get_parser; ++ ne_propfind_get_request; ++ ne_propfind_named; ++ ne_propfind_set_private; ++ ne_propnames; ++ ne_proppatch; ++ ne_propset_iterate; ++ ne_propset_lang; ++ ne_propset_private; ++ ne_propset_status; ++ ne_propset_value; ++ ne_simple_propfind; ++ ne_ascii_to_md5; ++ ne_md5_create_ctx; ++ ne_md5_destroy_ctx; ++ ne_md5_dup_ctx; ++ ne_md5_finish_ascii; ++ ne_md5_finish_ctx; ++ ne_md5_process_block; ++ ne_md5_process_bytes; ++ ne_md5_read_ctx; ++ ne_md5_reset_ctx; ++ ne_md5_stream; ++ ne_md5_to_ascii; ++ ne_lock; ++ ne_lock_copy; ++ ne_lock_create; ++ ne_lock_destroy; ++ ne_lock_discover; ++ ne_lock_free; ++ ne_lock_refresh; ++ ne_lock_using_parent; ++ ne_lock_using_resource; ++ ne_lockstore_add; ++ ne_lockstore_create; ++ ne_lockstore_destroy; ++ ne_lockstore_findbyuri; ++ ne_lockstore_first; ++ ne_lockstore_next; ++ ne_lockstore_register; ++ ne_lockstore_remove; ++ ne_unlock; ++ ne_i18n_init; ++ ne_asctime_parse; ++ ne_httpdate_parse; ++ ne_iso8601_parse; ++ ne_rfc1036_parse; ++ ne_rfc1123_date; ++ ne_rfc1123_parse; ++ ne_decompress_destroy; ++ ne_decompress_reader; ++ ne_add_depth_header; ++ ne_copy; ++ ne_delete; ++ ne_get; ++ ne_get_content_type; ++ ne_get_range; ++ ne_getmodtime; ++ ne_mkcol; ++ ne_move; ++ ne_options; ++ ne_options2; ++ ne_post; ++ ne_put; ++ ne_add_proxy_auth; ++ ne_add_server_auth; ++ ne_forget_auth; ++ ne_set_proxy_auth; ++ ne_set_server_auth; ++ ne_calloc; ++ ne_malloc; ++ ne_oom_callback; ++ ne_realloc; ++ ne_strdup; ++ ne_strndup; ++ ne_acl3744_set; ++ ne_207_create; ++ ne_207_destroy; ++ ne_207_get_current_propstat; ++ ne_207_get_current_response; ++ ne_207_set_propstat_handlers; ++ ne_207_set_response_handlers; ++ ne_accept_207; ++ ne_simple_request; ++ GetVersionInfo; ++ local: ++ *; ++}; diff --git a/neon/neon_exports_win.patch b/neon/neon_exports_win.patch new file mode 100644 index 000000000000..40f130e66da3 --- /dev/null +++ b/neon/neon_exports_win.patch @@ -0,0 +1,297 @@ +--- misc/neon-0.29.5/src/exports.map 2009-09-29 10:28:13.531250000 +0200 ++++ misc/build/neon-0.29.5/src/exports.map 2009-09-21 12:16:53.453125000 +0200 +@@ -0,0 +1,294 @@ ++UDK_3_0_0 { ++ global: ++ ne_sspi_authenticate; ++ ne_sspi_clear_context; ++ ne_sspi_create_context; ++ ne_sspi_deinit; ++ ne_sspi_destroy_context; ++ ne_sspi_init; ++ ne__negotiate_ssl; ++ ne__ssl_exit; ++ ne__ssl_init; ++ ne_ssl_cert_cmp; ++ ne_ssl_cert_digest; ++ ne_ssl_cert_export; ++ ne_ssl_cert_free; ++ ne_ssl_cert_identity; ++ ne_ssl_cert_import; ++ ne_ssl_cert_issuer; ++ ne_ssl_cert_read; ++ ne_ssl_cert_signedby; ++ ne_ssl_cert_subject; ++ ne_ssl_cert_validity_time; ++ ne_ssl_cert_write; ++ ne_ssl_clicert_decrypt; ++ ne_ssl_clicert_encrypted; ++ ne_ssl_clicert_free; ++ ne_ssl_clicert_name; ++ ne_ssl_clicert_owner; ++ ne_ssl_clicert_read; ++ ne_ssl_context_create; ++ ne_ssl_context_destroy; ++ ne_ssl_context_keypair; ++ ne_ssl_context_set_flag; ++ ne_ssl_context_set_verify; ++ ne_ssl_context_trustcert; ++ ne_ssl_dname_cmp; ++ ne_ssl_readable_dname; ++ ne_ssl_set_clicert; ++ ne_ssl_trust_default_ca; ++ ne_xml_dispatch_request; ++ ne_xml_parse_response; ++ ne_xml_create; ++ ne_xml_currentline; ++ ne_xml_destroy; ++ ne_xml_doc_encoding; ++ ne_xml_failed; ++ ne_xml_get_attr; ++ ne_xml_get_error; ++ ne_xml_mapid; ++ ne_xml_parse; ++ ne_xml_parse_v; ++ ne_xml_push_handler; ++ ne_xml_resolve_nspace; ++ ne_xml_set_error; ++ ne_debug; ++ ne_debug_init; ++ ne_debug_mask; ++ ne_debug_stream; ++ ne_has_support; ++ ne_parse_statusline; ++ ne_version_match; ++ ne_version_string; ++ ne_path_childof; ++ ne_path_compare; ++ ne_path_escape; ++ ne_path_has_trailing_slash; ++ ne_path_parent; ++ ne_path_unescape; ++ ne_uri_cmp; ++ ne_uri_copy; ++ ne_uri_defaultport; ++ ne_uri_free; ++ ne_uri_parse; ++ ne_uri_resolve; ++ ne_uri_unparse; ++ ne_base64; ++ ne_buffer_altered; ++ ne_buffer_append; ++ ne_buffer_clear; ++ ne_buffer_concat; ++ ne_buffer_create; ++ ne_buffer_destroy; ++ ne_buffer_finish; ++ ne_buffer_grow; ++ ne_buffer_ncreate; ++ ne_buffer_snprintf; ++ ne_buffer_zappend; ++ ne_concat; ++ ne_qtoken; ++ ne_shave; ++ ne_snprintf; ++ ne_strcasecmp; ++ ne_strclean; ++ ne_strerror; ++ ne_strncasecmp; ++ ne_token; ++ ne_tolower_array; ++ ne_unbase64; ++ ne_vsnprintf; ++ ne__sock_sslsock; ++ ne_addr_destroy; ++ ne_addr_error; ++ ne_addr_first; ++ ne_addr_next; ++ ne_addr_resolve; ++ ne_addr_result; ++ ne_iaddr_cmp; ++ ne_iaddr_free; ++ ne_iaddr_make; ++ ne_iaddr_print; ++ ne_iaddr_reverse; ++ ne_iaddr_typeof; ++ ne_sock_accept; ++ ne_sock_accept_ssl; ++ ne_sock_block; ++ ne_sock_cipher; ++ ne_sock_close; ++ ne_sock_connect; ++ ne_sock_connect_ssl; ++ ne_sock_connect_timeout; ++ ne_sock_create; ++ ne_sock_error; ++ ne_sock_exit; ++ ne_sock_fd; ++ ne_sock_fullread; ++ ne_sock_fullwrite; ++ ne_sock_init; ++ ne_sock_peek; ++ ne_sock_peer; ++ ne_sock_prebind; ++ ne_sock_proxy; ++ ne_sock_read; ++ ne_sock_read_timeout; ++ ne_sock_readline; ++ ne_sock_sessid; ++ ne__ssl_set_verify_err; ++ ne_close_connection; ++ ne_fill_proxy_uri; ++ ne_fill_server_uri; ++ ne_get_error; ++ ne_get_scheme; ++ ne_get_server_hostport; ++ ne_get_session_flag; ++ ne_hook_close_conn; ++ ne_hook_create_request; ++ ne_hook_destroy_request; ++ ne_hook_destroy_session; ++ ne_hook_post_headers; ++ ne_hook_post_send; ++ ne_hook_pre_send; ++ ne_session_create; ++ ne_session_destroy; ++ ne_session_proxy; ++ ne_set_addrlist; ++ ne_set_connect_timeout; ++ ne_set_error; ++ ne_set_localaddr; ++ ne_set_notifier; ++ ne_set_progress; ++ ne_set_read_timeout; ++ ne_set_session_flag; ++ ne_set_session_private; ++ ne_set_useragent; ++ ne_ssl_cert_validity; ++ ne_ssl_provide_clicert; ++ ne_ssl_set_verify; ++ ne_ssl_trust_cert; ++ ne_unhook_close_conn; ++ ne_unhook_create_request; ++ ne_unhook_destroy_request; ++ ne_unhook_destroy_session; ++ ne_unhook_post_headers; ++ ne_unhook_post_send; ++ ne_unhook_pre_send; ++ ne_version_pre_http11; ++ ne_accept_2xx; ++ ne_accept_always; ++ ne_add_request_header; ++ ne_add_response_body_reader; ++ ne_begin_request; ++ ne_discard_response; ++ ne_end_request; ++ ne_get_request_flag; ++ ne_get_request_private; ++ ne_get_response_header; ++ ne_get_session; ++ ne_get_session_private; ++ ne_get_status; ++ ne_print_request_header; ++ ne_read_response_block; ++ ne_read_response_to_fd; ++ ne_request_create; ++ ne_request_destroy; ++ ne_request_dispatch; ++ ne_response_header_iterate; ++ ne_set_request_body_buffer; ++ ne_set_request_body_fd; ++ ne_set_request_body_provider; ++ ne_set_request_flag; ++ ne_set_request_private; ++ ne_redirect_location; ++ ne_redirect_register; ++ ne_propfind_allprop; ++ ne_propfind_create; ++ ne_propfind_current_private; ++ ne_propfind_destroy; ++ ne_propfind_get_parser; ++ ne_propfind_get_request; ++ ne_propfind_named; ++ ne_propfind_set_private; ++ ne_propnames; ++ ne_proppatch; ++ ne_propset_iterate; ++ ne_propset_lang; ++ ne_propset_private; ++ ne_propset_status; ++ ne_propset_value; ++ ne_simple_propfind; ++ ne_ascii_to_md5; ++ ne_md5_create_ctx; ++ ne_md5_destroy_ctx; ++ ne_md5_dup_ctx; ++ ne_md5_finish_ascii; ++ ne_md5_finish_ctx; ++ ne_md5_process_block; ++ ne_md5_process_bytes; ++ ne_md5_read_ctx; ++ ne_md5_reset_ctx; ++ ne_md5_stream; ++ ne_md5_to_ascii; ++ ne_lock; ++ ne_lock_copy; ++ ne_lock_create; ++ ne_lock_destroy; ++ ne_lock_discover; ++ ne_lock_free; ++ ne_lock_refresh; ++ ne_lock_using_parent; ++ ne_lock_using_resource; ++ ne_lockstore_add; ++ ne_lockstore_create; ++ ne_lockstore_destroy; ++ ne_lockstore_findbyuri; ++ ne_lockstore_first; ++ ne_lockstore_next; ++ ne_lockstore_register; ++ ne_lockstore_remove; ++ ne_unlock; ++ ne_i18n_init; ++ ne_asctime_parse; ++ ne_httpdate_parse; ++ ne_iso8601_parse; ++ ne_rfc1036_parse; ++ ne_rfc1123_date; ++ ne_rfc1123_parse; ++ ne_decompress_destroy; ++ ne_decompress_reader; ++ ne_add_depth_header; ++ ne_copy; ++ ne_delete; ++ ne_get; ++ ne_get_content_type; ++ ne_get_range; ++ ne_getmodtime; ++ ne_mkcol; ++ ne_move; ++ ne_options; ++ ne_options2; ++ ne_post; ++ ne_put; ++ ne_add_proxy_auth; ++ ne_add_server_auth; ++ ne_forget_auth; ++ ne_set_proxy_auth; ++ ne_set_server_auth; ++ ne_calloc; ++ ne_malloc; ++ ne_oom_callback; ++ ne_realloc; ++ ne_strdup; ++ ne_strndup; ++ ne_free; ++ ne_acl3744_set; ++ ne_207_create; ++ ne_207_destroy; ++ ne_207_get_current_propstat; ++ ne_207_get_current_response; ++ ne_207_set_propstat_handlers; ++ ne_207_set_response_handlers; ++ ne_accept_207; ++ ne_simple_request; ++ local: ++ *; ++}; diff --git a/neon/prj/build.lst b/neon/prj/build.lst new file mode 100644 index 000000000000..5803dc6eca91 --- /dev/null +++ b/neon/prj/build.lst @@ -0,0 +1,3 @@ +xh neon : OPENSSL:openssl ZLIB:zlib soltools external EXPAT:expat LIBXML2:libxml2 NULL +xh neon usr1 - all xh_mkout NULL +xh neon nmake - all xh_neon NULL diff --git a/neon/prj/d.lst b/neon/prj/d.lst new file mode 100644 index 000000000000..0914f57985cf --- /dev/null +++ b/neon/prj/d.lst @@ -0,0 +1,8 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\neon +..\version.mk %_DEST%\inc\external\neon\version.mk +..\%__SRC%\inc\ne_*.h %_DEST%\inc\external\neon\ne_*.h +..\%__SRC%\lib\ineon.lib %_DEST%\lib\ineon.lib +..\%__SRC%\bin\neon*.dll %_DEST%\bin\neon*.dll +..\%__SRC%\lib\libneon*.so %_DEST%\lib\libneon*.so +..\%__SRC%\lib\libneon*.dylib %_DEST%\lib\libneon*.dylib
\ No newline at end of file diff --git a/neon/version.mk b/neon/version.mk new file mode 100644 index 000000000000..0bac1cd47f05 --- /dev/null +++ b/neon/version.mk @@ -0,0 +1,37 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +# the major +NEON_MAJOR=0 +# the minor +NEON_MINOR=29 +# the micro +NEON_MICRO=5 + +# concat +NEON_VERSION=$(NEON_MAJOR)$(NEON_MINOR)$(NEON_MICRO) + diff --git a/nss/makefile.mk b/nss/makefile.mk new file mode 100644 index 000000000000..45f1feb22680 --- /dev/null +++ b/nss/makefile.mk @@ -0,0 +1,179 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=nss +TARGET=nss + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +.IF "$(ENABLE_NSS_MODULE)"!="YES" +all: + @echo "NSS will not be built. ENABLE_NSS_MODULE is '$(ENABLE_NSS_MODULE)'" +.ENDIF + +TARFILE_NAME=nss-3.12.8-with-nspr-4.8.6 +TARFILE_MD5=71474203939fafbe271e1263e61d083e +TARFILE_ROOTDIR=nss-3.12.8 +PATCH_FILES=nss.patch nss.aix.patch + +.IF "$(OS)"=="MACOSX" +PATCH_FILES+=nss_macosx.patch +.ENDIF # "$(OS)"=="MACOSX" + +.IF "$(debug)" != "" +.ELSE +BUILD_OPT=1 +.EXPORT: BUILD_OPT +.ENDIF + +.IF "$(GUI)"=="UNX" +.IF "$(OS)$(COM)"=="LINUXGCC" +.IF "$(BUILD64)"=="1" +# force 64-bit buildmode +USE_64:=1 +.EXPORT : USE_64 +.ENDIF # "$(CPU)"=="X" +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" + +.IF "$(OS)$(COM)"=="FREEBSDGCC" +.IF "$(CPU)"=="X" +# force 64-bit buildmode +USE_64:=1 +.EXPORT : USE_64 +.ENDIF # "$(CPU)"=="X" +.ENDIF # "$(OS)$(COM)"=="LINUXGCC" + +.IF "$(OS)"=="MACOSX" +.IF "$(EXTRA_CFLAGS)"!="" +CPP:=gcc -E $(EXTRA_CFLAGS) +CXX:=g++ $(EXTRA_CFLAGS) +CC:=gcc $(EXTRA_CFLAGS) +MACOS_SDK_DIR*=$(MACDEVSDK) +.EXPORT : CPP MACOS_SDK_DIR +.ENDIF # "$(EXTRA_CFLAGS)"!="" +.ENDIF # "$(OS)"=="MACOSX" + +OUT2LIB=mozilla$/dist$/out$/lib$/*$(DLLPOST) + +BUILD_DIR=mozilla$/security$/nss +BUILD_ACTION= $(GNUMAKE) nss_build_all +#See #i105566# && moz#513024# +.IF "$(OS)"=="LINUX" +BUILD_ACTION+=FREEBL_NO_DEPEND=1 +.ENDIF + +.ENDIF # "$(GUI)"=="UNX" + + +.IF "$(GUI)"=="WNT" + +.IF "$(COM)"=="GCC" + +PATCH_FILES+=nss.patch.mingw + +moz_build:=$(shell cygpath -p $(MOZILLABUILD)) +PATH!:=$(moz_build)/bin:$(PATH) + +nss_CC=$(CC) +nss_CXX=$(CXX) +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +nss_CC+=-shared-libgcc +nss_CXX+=-shared-libgcc +.ENDIF + +nss_LIBS= +.IF "$(MINGW_SHARED_GXXLIB)"=="YES" +nss_LIBS+=$(MINGW_SHARED_LIBSTDCPP) +.ENDIF + + +BUILD_DIR=mozilla$/security$/nss +BUILD_ACTION=NS_USE_GCC=1 CC="$(nss_CC)" CXX="$(nss_CXX)" OS_LIBS="$(nss_LIBS)" OS_TARGET=WIN95 _WIN32_IE=0x500 PATH="$(PATH)" DEFINES=-D_WIN32_IE=0x500 $(GNUMAKE) nss_build_all + +OUT2LIB= \ + mozilla$/dist$/out$/lib$/libnspr4.a \ + mozilla$/dist$/out$/lib$/libnss3.a \ + mozilla$/dist$/out$/lib$/libnssdbm3.a \ + mozilla$/dist$/out$/lib$/libnssutil3.a \ + mozilla$/dist$/out$/lib$/libplc4.a \ + mozilla$/dist$/out$/lib$/libplds4.a \ + mozilla$/dist$/out$/lib$/libsmime3.a \ + mozilla$/dist$/out$/lib$/libsoftokn3.a \ + mozilla$/dist$/out$/lib$/libsqlite3.a \ + mozilla$/dist$/out$/lib$/libssl3.a + +.ELSE # "$(COM)"=="GCC" +MOZ_MSVCVERSION= 9 +.EXPORT : MOZ_MSVCVERSION +moz_build:=$(shell cygpath -p $(MOZILLABUILD)) + +#Using WINNT will cause at least that nspr4.dll, plc4.dll, plds4.dll +#become libnspr4.dll, libplc4.dll, libplds4.dll +#WINNT causes the use of Microsoft fibers (specific to Windows NT and Windows 2000). +#OS_TARGET= WINNT +OS_TARGET=WIN95 +.EXPORT : OS_TARGET + +#To build nss one has to call "make nss_build_all" in +#mozilla/security/nss +NSS_BUILD_DIR= $(subst,\,/ $(PWD)/$(MISC)/build/$(TARFILE_ROOTDIR)/mozilla/security/nss) +BUILD_ACTION= PATH="$(moz_build)/msys/bin:$(moz_build)/moztools/bin:$(PATH)" && $(subst,/,$/ $(MOZILLABUILD)/msys/bin/bash) -i \ + -c "cd $(NSS_BUILD_DIR) && make nss_build_all" + +OUT2LIB= \ + mozilla$/dist$/out$/lib$/nspr4.lib \ + mozilla$/dist$/out$/lib$/nss3.lib \ + mozilla$/dist$/out$/lib$/nssdbm3.lib \ + mozilla$/dist$/out$/lib$/nssutil3.lib \ + mozilla$/dist$/out$/lib$/plc4.lib \ + mozilla$/dist$/out$/lib$/plds4.lib \ + mozilla$/dist$/out$/lib$/smime3.lib \ + mozilla$/dist$/out$/lib$/softokn3.lib \ + mozilla$/dist$/out$/lib$/sqlite3.lib \ + mozilla$/dist$/out$/lib$/ssl3.lib + +.ENDIF # "$(COM)"=="GCC" + +OUT2BIN=mozilla$/dist$/out$/lib$/*$(DLLPOST) +.ENDIF # "$(GUI)"=="WNT" + + +OUTDIR2INC=mozilla$/dist$/public$/nss mozilla$/dist$/out$/include + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + + diff --git a/nss/nss.aix.patch b/nss/nss.aix.patch new file mode 100644 index 000000000000..430b699150bd --- /dev/null +++ b/nss/nss.aix.patch @@ -0,0 +1,143 @@ +--- misc/nss-3.12.8/mozilla/nsprpub/configure 2010-08-18 07:23:01.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/nsprpub/configure 2010-08-18 07:33:11.000000000 -0500 +@@ -2973,7 +2973,8 @@ + #define SYSV 1 + EOF + +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' + ac_safe=`echo "sys/atomic_op.h" | sed 'y%./+-%__p_%'` + echo $ac_n "checking for sys/atomic_op.h""... $ac_c" 1>&6 + echo "configure:2980: checking for sys/atomic_op.h" >&5 +@@ -3102,7 +3103,6 @@ + AIX_LINK_OPTS='-brtl -bnso -berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/nss-3.12.8/mozilla/nsprpub/configure.in 2010-08-18 07:23:01.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/nsprpub/configure.in 2010-08-18 07:32:36.000000000 -0500 +@@ -831,7 +831,8 @@ + AC_DEFINE(XP_UNIX) + AC_DEFINE(AIX) + AC_DEFINE(SYSV) +- DSO_LDOPTS='-brtl -bnortllib -bM:SRE -bnoentry -bexpall -blibpath:/usr/lib:/lib' ++ DSO_LDOPTS='-Wl,-brtl -Wl,-bnortllib -Wl,-blibpath:/usr/lib:/lib' ++ MKSHLIB='$(CCC) -shared $(DSO_LDOPTS) -o $@' + AC_CHECK_HEADER(sys/atomic_op.h, AC_DEFINE(AIX_HAVE_ATOMIC_OP_H)) + case "${target_os}" in + aix3.2*) +@@ -871,10 +872,9 @@ + AC_DEFINE(HAVE_SOCKLEN_T) + AC_DEFINE(HAVE_FCNTL_FILE_LOCKING) + USE_IPV6=1 +- AIX_LINK_OPTS='-brtl -bnso -berok' ++ AIX_LINK_OPTS='-Wl,-brtl -Wl,-bnso -Wl,-berok' + ;; + esac +- CFLAGS="$CFLAGS -qro -qroconst" + AIX_WRAP='$(DIST)/lib/aixwrap.o' + AIX_TMP='./_aix_tmp.o' + if test -n "$USE_64"; then +--- misc/nss-3.12.8/mozilla/nsprpub/pr/src/Makefile.in 2010-08-18 07:23:04.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/nsprpub/pr/src/Makefile.in 2010-08-18 07:24:49.000000000 -0500 +@@ -110,7 +110,6 @@ + endif + + ifeq ($(OS_ARCH),AIX) +-DSO_LDOPTS += -binitfini::_PR_Fini + OS_LIBS = -lodm -lcfg + ifeq ($(CLASSIC_NSPR),1) + ifeq ($(OS_RELEASE),4.1) +--- misc/nss-3.12.8/mozilla/security/coreconf/AIX.mk 2010-08-18 07:23:06.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/AIX.mk 2010-08-18 07:26:26.000000000 -0500 +@@ -62,35 +62,30 @@ + + DEFAULT_COMPILER = xlc_r + +-CC = xlc_r +-CCC = xlC_r ++CCC = $(CXX) + + CPU_ARCH = rs6000 + + RANLIB = ranlib + + OS_CFLAGS = -DAIX -DSYSV +-OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm ++OS_LIBS += -Wl,-blibpath:/usr/lib:/lib -lc -lm + +-DSO_LDOPTS = -brtl -bnortllib -bM:SRE -bnoentry +-MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm ++DSO_LDOPTS = -Wl,-brtl -Wl,-bnortllib ++MKSHLIB = $(CC) --shared $(DSO_LDOPTS) -Wl,-blibpath:/usr/lib:/lib -lc -lm + + AIX_WRAP = $(DIST)/lib/aixwrap.o + AIX_TMP = $(OBJDIR)/_aix_tmp.o + + ifdef MAPFILE +-DSO_LDOPTS += -bexport:$(MAPFILE) ++DSO_LDOPTS += -Wl,-bexport:$(MAPFILE) + else +-DSO_LDOPTS += -bexpall ++DSO_LDOPTS += -Wl,-bexpall + endif + + PROCESS_MAP_FILE = grep -v ';+' $< | grep -v ';-' | \ + sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@ + +-ifdef BUILD_OPT +- OPTIMIZER += -qmaxmem=-1 +-endif +- + ifeq ($(USE_64), 1) + OS_CFLAGS += -DAIX_64BIT + OBJECT_MODE=64 +--- misc/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-08-18 07:23:18.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-08-18 07:26:48.000000000 -0500 +@@ -173,7 +173,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) +@@ -223,7 +223,7 @@ + $(NULL) + + ifeq ($(OS_ARCH), AIX) +-EXTRA_SHARED_LIBS += -brtl ++EXTRA_SHARED_LIBS += -Wl,-brtl + endif + + # $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS) +--- misc/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-18 07:23:20.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/mangle/Makefile 2010-08-18 07:42:44.000000000 -0500 +@@ -75,7 +75,9 @@ + + endif + +- ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif + + ####################################################################### + # (5) Execute "global" rules. (OPTIONAL) # +--- misc/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-18 08:00:17.000000000 -0500 ++++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2010-08-18 07:55:55.000000000 -0500 +@@ -75,6 +75,9 @@ + + endif + ++ifeq ($(OS), AIX) ++EXTRA_SHARED_LIBS += -lpthreads ++endif + + # sign any and all shared libraries that contain the word freebl + diff --git a/nss/nss.patch b/nss/nss.patch new file mode 100644 index 000000000000..ac24855660b4 --- /dev/null +++ b/nss/nss.patch @@ -0,0 +1,205 @@ +--- misc/nss-3.12.8/mozilla/nsprpub/config/rules.mk 2009-12-09 22:24:37.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/nsprpub/config/rules.mk 2010-06-11 16:35:54.946870871 +0200 +@@ -345,7 +345,12 @@ + ifdef NS_USE_GCC + $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $< + else +- $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $< ++ #We remove stl from the paths to avoid that rc.exe finds the stlport of ++ #OOo. stlport includes the system stl which will fail. By removing it, ++ #rc will use the stl from the system if the path is in the INCLUDE ++ #variable. ++ INCLUDE="$(subst /stl,,$(INCLUDE))" $(RC) $(RCFLAGS) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $< ++ + endif # GCC + @echo $(RES) finished + endif +--- misc/nss-3.12.8/mozilla/nsprpub/configure 2010-02-08 19:41:35.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/nsprpub/configure 2010-06-11 16:35:54.960188991 +0200 +@@ -3900,7 +3900,7 @@ + PR_MD_CSRCS=linux.c + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + DSO_CFLAGS=-fPIC +- DSO_LDOPTS='-shared -Wl,-soname -Wl,$(notdir $@)' ++ DSO_LDOPTS='-shared -Wl,-rpath,\$$ORIGIN -Wl,-soname -Wl,$(notdir $@)' + _OPTIMIZE_FLAGS=-O2 + _DEBUG_FLAGS="-g -fno-inline" # most people on linux use gcc/gdb, and that + # combo is not yet good at debugging inlined +--- misc/nss-3.12.8/mozilla/security/coreconf/Darwin.mk 2010-02-04 19:59:10.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/Darwin.mk 2010-06-11 16:35:54.966185975 +0200 +@@ -39,8 +39,12 @@ + + DEFAULT_COMPILER = cc + +-CC = cc +-CCC = c++ ++# CC is taken from environment automatically. ++#CC = cc ++# Use CCC from environment. ++#CCC = c++ ++CCC = $(CXX) ++ + RANLIB = ranlib + + ifndef CPU_ARCH +--- misc/nss-3.12.8/mozilla/security/coreconf/Linux.mk 2010-01-15 23:19:00.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/Linux.mk 2010-06-11 16:35:54.981151732 +0200 +@@ -46,8 +46,11 @@ + IMPL_STRATEGY = _PTH + endif + +-CC = gcc +-CCC = g++ ++# CC is taken from environment automatically. ++#CC = gcc ++# Use CCC from environment. ++#CCC = g++ ++CCC = $(CXX) + RANLIB = ranlib + + DEFAULT_COMPILER = gcc +@@ -147,7 +150,7 @@ + # incorrectly reports undefined references in the libraries we link with, so + # we don't use -z defs there. + ZDEFS_FLAG = -Wl,-z,defs +-DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) ++DSO_LDOPTS += $(if $(findstring 2.11.90.0.8,$(shell ld -v)),,$(ZDEFS_FLAG)) '-Wl,-rpath,$$ORIGIN' + LDFLAGS += $(ARCHFLAG) + + # INCLUDES += -I/usr/include -Y/usr/include/linux +@@ -158,8 +161,13 @@ + # + CPU_TAG = _$(CPU_ARCH) + ++ifeq ($(SYSTEM_ZLIB),YES) ++# Currently (3.12.4) only the tools modutil and signtool are linked with libz ++# If USE_SYSTEM_ZLIB is not set then the tools link statically libzlib.a which ++# is also build in nss. + USE_SYSTEM_ZLIB = 1 + ZLIB_LIBS = -lz ++endif + + # The -rpath '$$ORIGIN' linker option instructs this library to search for its + # dependencies in the same directory where it resides. +--- misc/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2009-06-11 02:55:32.000000000 +0200 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/SunOS5.mk 2010-06-11 16:35:54.985571182 +0200 +@@ -89,8 +89,12 @@ + # OPTIMIZER += -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer + endif + else +- CC = cc +- CCC = CC ++# CC is taken from environment automatically. ++# CC = cc ++# Use CXX from environment. ++# CCC = CC ++ CCC = $(CXX) ++ + ASFLAGS += -Wa,-P + OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG) + ifndef BUILD_OPT +--- misc/nss-3.12.8/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:49.000000000 +0200 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/arch.mk 2010-06-11 16:35:54.990913282 +0200 +@@ -324,7 +324,12 @@ + # IMPL_STRATEGY may be defined too. + # + +-OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ ++# OBJDIR_NAME is used to build the directory containing the built objects, for ++# example mozilla/dist/Linux2.6_x86_glibc_PTH_DBG.OBJ ++# We need to deliver the contents of that folder into the solver. To make that easier ++# in the makefile we rename this directory to "out". ++#OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ ++OBJDIR_NAME = out + + ifeq (,$(filter-out WIN%,$(OS_TARGET))) + ifndef BUILD_OPT +--- misc/nss-3.12.8/mozilla/security/coreconf/rules.mk 2009-12-08 02:33:36.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/rules.mk 2010-06-11 16:35:54.996448704 +0200 +@@ -355,7 +355,12 @@ + ifdef NS_USE_GCC + $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $< + else +- $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $< ++ #We remove stl from the paths to avoid that rc.exe finds the stlport of ++ #OOo. stlport includes the system stl which will fail. By removing it, ++ #rc will use the stl from the system if the path is in the INCLUDE ++ #variable. ++ INCLUDE="$(subst /stl,,$(INCLUDE))" $(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $< ++ + endif + @echo $(RES) finished + endif +--- misc/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-02-04 19:59:10.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/platlibs.mk 2010-06-11 16:35:55.004869805 +0200 +@@ -41,27 +41,28 @@ + ifeq ($(OS_ARCH), SunOS) + ifeq ($(BUILD_SUN_PKG), 1) + ifeq ($(USE_64), 1) +-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1/64:/usr/lib/mps/64' ++#In OOo we would probable put the executables next to libs ++EXTRA_SHARED_LIBS += -R '$$ORIGIN' + else +-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib:/usr/lib/mps/secv1:/usr/lib/mps' ++EXTRA_SHARED_LIBS += -R '$$ORIGIN' + endif + else +-EXTRA_SHARED_LIBS += -R '$$ORIGIN/../lib' ++EXTRA_SHARED_LIBS += -R '$$ORIGIN' + endif + endif + + ifeq ($(OS_ARCH), Linux) + ifeq ($(BUILD_SUN_PKG), 1) + ifeq ($(USE_64), 1) +-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib' ++EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN' + else +-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib' ++EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN' + endif + else + ifeq ($(USE_64), 1) +-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib64:$$ORIGIN/../lib' ++EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN' + else +-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib' ++EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN' + endif + endif + endif +--- misc/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-07 21:06:37.000000000 +0200 ++++ misc/build/nss-3.12.8/mozilla/security/nss/cmd/shlibsign/Makefile 2010-06-11 16:35:55.009851148 +0200 +@@ -78,10 +78,15 @@ + + # sign any and all shared libraries that contain the word freebl + +-CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX) +-CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX)) ++# Signing causes loading of some system library which in turn loads ++# libsqlite3. Then it loads libsqulite3 from nss, which does not have the proper ++# version. Therefore signing fails. ++# We cannot build with the system sqlite3, because it is too old (SDK ++# 10.4). Otherwise one could set NSS_USE_SYSTEM_SQLITE=1 and use the system lib. ++#CHECKLIBS = $(DIST)/lib/$(DLL_PREFIX)softokn3.$(DLL_SUFFIX) ++#CHECKLIBS += $(wildcard $(DIST)/lib/$(DLL_PREFIX)freebl*3.$(DLL_SUFFIX)) + ifndef NSS_DISABLE_DBM +-CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX) ++#CHECKLIBS += $(DIST)/lib/$(DLL_PREFIX)nssdbm3.$(DLL_SUFFIX) + endif + CHECKLOC = $(CHECKLIBS:.$(DLL_SUFFIX)=.chk) + +--- /dev/null 2011-07-24 19:07:44.290563140 +0200 ++++ misc/build/nss-3.12.8/mozilla/security/coreconf/Linux3.0.mk 2011-07-24 22:21:02.710513995 +0200 +@@ -0,0 +1,11 @@ ++include $(CORE_DEPTH)/coreconf/Linux.mk ++ ++OS_REL_CFLAGS += -DLINUX2_1 ++MKSHLIB = $(CC) $(DSO_LDOPTS) -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so) $(RPATH) ++ ++ifdef MAPFILE ++ MKSHLIB += -Wl,--version-script,$(MAPFILE) ++endif ++PROCESS_MAP_FILE = grep -v ';-' $< | \ ++ sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@ ++ diff --git a/nss/nss.patch.mingw b/nss/nss.patch.mingw new file mode 100755 index 000000000000..89edd5638e20 --- /dev/null +++ b/nss/nss.patch.mingw @@ -0,0 +1,167 @@ +--- misc/nss-3.12.6/mozilla/nsprpub/config/autoconf.mk.in 2009-03-04 07:04:23.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/config/autoconf.mk.in 2010-06-17 08:42:08.010625000 +0900 +@@ -22,6 +22,7 @@ + RELEASE_OBJDIR_NAME = @RELEASE_OBJDIR_NAME@ + OBJDIR_NAME = @OBJDIR_NAME@ + OBJDIR = @OBJDIR@ ++LIB_PREFIX = @LIB_PREFIX@ + OBJ_SUFFIX = @OBJ_SUFFIX@ + LIB_SUFFIX = @LIB_SUFFIX@ + DLL_SUFFIX = @DLL_SUFFIX@ +--- misc/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2009-12-10 06:24:37.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/config/rules.mk 2010-06-17 08:42:08.057500000 +0900 +@@ -113,9 +113,9 @@ + # other platforms do not. + # + ifeq (,$(filter-out WIN95 WINCE WINMO OS2,$(OS_TARGET))) +-LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) ++LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) + SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) +-IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).$(LIB_SUFFIX) ++IMPORT_LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION).$(LIB_SUFFIX) + SHARED_LIB_PDB = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).pdb + else + LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_s.$(LIB_SUFFIX) +--- misc/nss-3.12.6/mozilla/nsprpub/configure 2010-02-09 03:41:35.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/configure 2010-06-17 08:42:10.000000000 +0900 +@@ -2770,6 +2770,7 @@ + LIB_SUFFIX=a + DLL_SUFFIX=so + ASM_SUFFIX=s ++LIB_PREFIX=lib + MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' + PR_MD_ASFILES= + PR_MD_CSRCS= +@@ -4000,6 +4001,7 @@ + OBJ_SUFFIX=obj + LIB_SUFFIX=lib + DLL_SUFFIX=dll ++ LIB_PREFIX= + + # Determine compiler version + CC_VERSION=`"${CC}" -v 2>&1 | grep Version | sed -e 's|.* Version ||' -e 's| .*||'` +@@ -6262,6 +6264,7 @@ + s%@LIB_SUFFIX@%$LIB_SUFFIX%g + s%@DLL_SUFFIX@%$DLL_SUFFIX%g + s%@ASM_SUFFIX@%$ASM_SUFFIX%g ++s%@LIB_PREFIX@%$LIB_PREFIX%g + s%@MKSHLIB@%$MKSHLIB%g + s%@DSO_CFLAGS@%$DSO_CFLAGS%g + s%@DSO_LDOPTS@%$DSO_LDOPTS%g +--- misc/nss-3.12.6/mozilla/nsprpub/pr/src/Makefile.in 2009-12-19 18:06:07.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/nsprpub/pr/src/Makefile.in 2010-06-17 08:42:08.151250000 +0900 +@@ -195,7 +195,7 @@ + + ifeq ($(OS_ARCH),WINNT) + ifdef NS_USE_GCC +-OS_LIBS = -ladvapi32 -lwsock32 -lwinmm ++OS_LIBS += -ladvapi32 -lwsock32 -lwinmm + else + OS_LIBS = advapi32.lib wsock32.lib winmm.lib + endif +--- misc/nss-3.12.6/mozilla/security/coreconf/WIN32.mk 2009-07-29 09:15:46.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/coreconf/WIN32.mk 2010-06-17 08:42:08.198125000 +0900 +@@ -43,8 +43,8 @@ + DEFAULT_COMPILER = cl + + ifdef NS_USE_GCC +- CC = gcc +- CCC = g++ ++# CC = gcc ++ CCC = $(CXX) + LINK = ld + AR = ar + AR += cr $@ +--- misc/nss-3.12.6/mozilla/security/coreconf/WIN95.mk 2009-02-14 14:51:10.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/coreconf/WIN95.mk 2010-06-17 08:42:08.245000000 +0900 +@@ -44,4 +44,8 @@ + DEFINES += -DWIN95 + + # WINNT uses the lib prefix, Win95 and WinCE don't +-NSPR31_LIB_PREFIX = $(NULL) ++ifdef NS_USE_GCC ++ NSPR31_LIB_PREFIX = lib ++else ++ NSPR31_LIB_PREFIX = $(NULL) ++endif +\ No newline at end of file +--- misc/nss-3.12.6/mozilla/security/coreconf/rules.mk 2009-12-08 10:33:36.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/coreconf/rules.mk 2010-06-17 08:42:08.291875000 +0900 +@@ -281,8 +281,12 @@ + fi + endif # MSVC with manifest tool + else ++ifeq (,$(filter-out WIN%,$(OS_TARGET))) ++ $(MKPROG) -o $@ $(CFLAGS) $(OBJS) $(LDFLAGS) -Wl,--start-group $(EXTRA_LIBS) -Wl,--end-group $(EXTRA_SHARED_LIBS) $(OS_LIBS) ++else + $(MKPROG) -o $@ $(CFLAGS) $(OBJS) $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) + endif ++endif + + get_objs: + @echo $(OBJS) +--- misc/nss-3.12.6/mozilla/security/nss/Makefile 2009-12-09 01:47:03.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/nss/Makefile 2010-06-17 08:42:08.338750000 +0900 +@@ -108,7 +108,7 @@ + NSPR_CONFIGURE_OPTS += --enable-debug-rtl + endif + ifdef NS_USE_GCC +-NSPR_COMPILERS = CC=gcc CXX=g++ ++NSPR_COMPILERS = CC="$(CC)" CXX="$(CXX)" + endif + + # +--- misc/nss-3.12.6/mozilla/security/nss/cmd/crmftest/Makefile 2005-11-14 09:17:21.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/crmftest/Makefile 2010-06-17 08:42:08.370000000 +0900 +@@ -90,7 +90,7 @@ + LDDIST = $(DIST)/lib + + ifeq (,$(filter-out WIN%,$(OS_TARGET))) +-EXTRA_LIBS += $(LDDIST)/sectool.lib ++EXTRA_LIBS += $(LDDIST)/$(LIB_PREFIX)sectool.$(LIB_SUFFIX) + endif + + include ../platrules.mk +--- misc/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2009-08-08 04:06:37.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/nss/cmd/shlibsign/Makefile 2010-06-17 08:42:10.000000000 +0900 +@@ -115,10 +115,16 @@ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + else ++ifeq ($(OS_TARGET), WIN95) ++ sh ./sign.sh $(shell cygpath -m -a $(DIST)) \ ++ $(shell cygpath -m -a $(OBJDIR)) $(OS_TARGET) \ ++ $(shell cygpath -m -a $(NSPR_LIB_DIR)) $(shell cygpath -m -a $<) ++else + cd $(OBJDIR) ; sh $(SRCDIR)/sign.sh $(call core_abspath,$(DIST)) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + endif ++endif + + libs install :: $(CHECKLOC) + +--- misc/nss-3.12.6/mozilla/security/nss/lib/freebl/config.mk 2009-04-12 06:18:42.000000000 +0900 ++++ misc/build/nss-3.12.6/mozilla/security/nss/lib/freebl/config.mk 2010-06-17 08:42:08.557500000 +0900 +@@ -84,10 +84,6 @@ + RES = $(OBJDIR)/$(LIBRARY_NAME).res + RESNAME = freebl.rc + +-ifndef WINCE +-OS_LIBS += shell32.lib +-endif +- + ifdef NS_USE_GCC + EXTRA_SHARED_LIBS += \ + -L$(DIST)/lib \ +@@ -97,6 +93,10 @@ + -lnspr4 \ + $(NULL) + else # ! NS_USE_GCC ++ifndef WINCE ++OS_LIBS += shell32.lib ++endif ++ + EXTRA_SHARED_LIBS += \ + $(DIST)/lib/nssutil3.lib \ + $(NSPR_LIB_DIR)/$(NSPR31_LIB_PREFIX)nspr4.lib \ diff --git a/nss/nss_macosx.patch b/nss/nss_macosx.patch new file mode 100644 index 000000000000..a6ddcd14ac57 --- /dev/null +++ b/nss/nss_macosx.patch @@ -0,0 +1,12 @@ +--- misc/nss-3.12.8/mozilla/security/nss/Makefile 2008-12-03 00:24:39.000000000 +0100 ++++ misc/build/nss-3.12.8/mozilla/security/nss/Makefile 2009-11-27 13:36:22.662753328 +0100 +@@ -104,6 +104,9 @@ + ifeq ($(OS_TARGET),WIN95) + NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95 + endif ++ifdef MACOS_SDK_DIR ++NSPR_CONFIGURE_OPTS += --with-macos-sdk=$(MACOS_SDK_DIR) ++endif + ifdef USE_DEBUG_RTL + NSPR_CONFIGURE_OPTS += --enable-debug-rtl + endif diff --git a/nss/prj/build.lst b/nss/prj/build.lst new file mode 100644 index 000000000000..14963fff7c8d --- /dev/null +++ b/nss/prj/build.lst @@ -0,0 +1,3 @@ +ns nss : solenv NULL +ns nss nmake - usr1 ns_mkout NULL +ns nss nmake - all ns_nss NULL diff --git a/nss/prj/d.lst b/nss/prj/d.lst new file mode 100644 index 000000000000..e5695b9d2dc6 --- /dev/null +++ b/nss/prj/d.lst @@ -0,0 +1,31 @@ +mkdir: %_DEST%\inc\mozilla\nspr +mkdir: %_DEST%\inc\mozilla\nspr\obsolete +mkdir: %_DEST%\inc\mozilla\nss +mkdir: %_DEST%\lib\sqlite + +..\%__SRC%\inc\include\* %_DEST%\inc\mozilla\nspr +..\%__SRC%\inc\include\obsolete\protypes.h %_DEST%\inc\mozilla\nspr\obsolete\protypes.h +..\%__SRC%\inc\nss\*.h %_DEST%\inc\mozilla\nss + +..\%__SRC%\lib\libfreebl3.* %_DEST%\lib\libfreebl.* +..\%__SRC%\lib\libfreebl_32fpu_3.* %_DEST%\lib\libfreebl_32fpu_3.* +..\%__SRC%\lib\libfreebl_32int64_3.* %_DEST%\lib\libfreebl_32int64_3.* +..\%__SRC%\lib\libfreebl_32int_3.* %_DEST%\lib\libfreebl_32int_3.* +..\%__SRC%\lib\libfreebl_64int_3.* %_DEST%\lib\libfreebl_64int_3.* +..\%__SRC%\lib\libfreebl_64fpu_3.* %_DEST%\lib\libfreebl_64fpu_3.* +..\%__SRC%\lib\libnspr4.* %_DEST%\lib\libnspr4.* +..\%__SRC%\lib\libnss3.* %_DEST%\lib\libnss3.* +..\%__SRC%\lib\libnssckbi.* %_DEST%\lib\libnssckbi.* +..\%__SRC%\lib\libnssdbm3.* %_DEST%\lib\libnssdbm3.* +..\%__SRC%\lib\libnssutil3.* %_DEST%\lib\libnssutil3.* +..\%__SRC%\lib\libplc4.* %_DEST%\lib\libplc4.* +..\%__SRC%\lib\libplds4.* %_DEST%\lib\libplds4.* +..\%__SRC%\lib\libsmime3.* %_DEST%\lib\libsmime3.* +..\%__SRC%\lib\libsoftokn3.* %_DEST%\lib\libsoftokn3.* +..\%__SRC%\lib\libssl3.* %_DEST%\lib\libssl3.* + +..\%__SRC%\lib\libsqlite3.* %_DEST%\lib\sqlite\libsqlite3.* +..\%__SRC%\lib\*.lib %_DEST%\lib + +..\%__SRC%\bin\* %_DEST%\bin + diff --git a/nss/readme.txt b/nss/readme.txt new file mode 100755 index 000000000000..df65908204c4 --- /dev/null +++ b/nss/readme.txt @@ -0,0 +1,75 @@ +Relation between nss, moz, moz_prebuilt +--------------------------------------- +nss containes the security libraries which are also part of moz. However nss is +meant to be more current, that is it to be updated more often. This should be +easier than doing this with moz. + +If nss is build depends on an environment variable (ENABLE_NSS_MODULE=YES) which +is per default set to YES. In this case nss is build before moz. The nss +libraries/lib files/headers built in moz are then not delivered. Otherwise they +would overwrite those from nss. That is, the nss libraries build in moz are +removed from mozruntime.zip (build in moz/solver/bin), they are removed from the +lib directory (for example moz/unxlngi6.pro/lib), and the nss and nspr headers +are also removed (inc/nss and inc/nspr). The nss libraries from the nss module +are then added to mozruntime.zip. + +This also applies for moz_prebuilt. Therefore moz and moz_prebuilt must be build +again after changes have been made to the libraries in the nss module. + +Also when moz was updated to use a newer version of mozilla, then one must make +sure that new files which also belong to nss are not delivered and are removed +from mozruntime.zip. + +Fips 140 and signed libraries +------------------------------- +Fips 140 mode is not supported. That is, the *.chk files containing the +checksums for the cryptographic module are not delivered into solver and will +not be part of the OOo installation sets. + +Signing has been turned off because +- we change the rpath (install names) after signing which breaks the signatures +(Mac) +- sqlite conflicts with the system sqlite when signing which breaks the build + + +libfreebl3 +---------- +Porting to other platforms may require to deliver other variants of +libfreebl*. The library name varies according to the platform. Changes need to +be made to +ooo/moz/extractfiles.mk +ooo/moz/zipped/makefile.mk +sun/moz_prebuilt/zipped/makefile.mk + +See also +http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html + + +Windows builds of nss +--------------------- +To build mozilla on windows you'll need the mozilla build tools + +Build requirements containing the link to the build tools: +https://developer.mozilla.org/en/Windows_Build_Prerequisites#ss2.2 + +The direct link: + +http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe + +libsqlite3 +---------- +The problem described here was found on Mac with OS 10.6 +NSS cannot use the system sqlite on Mac because the base line is still MacOS +10.4. That system sqlite is incompatible with the softokn3 in nss which requires +a later version of sqlite. +When we used a more current Mac SDK then we could set +NSS_USE_SYSTEM_SQLITE=1 +to build using the system sqlite. + +We cannot deliver sqlite in the lib directory of the solver. This directory is +used by tools of the build environment. Using the sqlite from NSS breaks the +tools if they use system libraries which are linked with the system +sqlite. Therefore we deliver it into lib/sqlite on unix systems. + +See also issue +http://qa.openoffice.org/issues/show_bug.cgi?id=106132 diff --git a/pango/makefile.mk b/pango/makefile.mk new file mode 100644 index 000000000000..66bf866dd124 --- /dev/null +++ b/pango/makefile.mk @@ -0,0 +1,169 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=pango +TARGET=so_pango + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(SYSTEM_PANGO)" == "YES" +all: + @echo "An already available installation of pango should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +PANGOVERSION=1.28.3 + +TARFILE_NAME=$(PRJNAME)-$(PANGOVERSION) +TARFILE_MD5=22ad1c8d3fda7e73b0798035f3dd96bc + +.IF "$(OS)"=="MACOSX" || "$(OS)"=="WNT" + +.IF "$(OS)" == "MACOSX" + +PATCH_FILES=pango-1.28.3.patch + +CONFIGURE_LDFLAGS="-L$(SOLARLIBDIR)" +CONFIGURE_DIR= +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) \ + ./configure --prefix=$(SRC_ROOT)/$(PRJNAME)/$(MISC) --disable-dependency-tracking --disable-doc-cross-references \ + CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \ + CXXFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS) $(EXTRA_CDEFS) -I$(SOLARINCDIR) -I$(SOLARINCDIR)/external -I$(SOLARINCDIR)/external/glib-2.0" \ + LDFLAGS="$(CONFIGURE_LDFLAGS)" \ + CAIRO_CFLAGS="-I$(SOLARINCDIR) -I$(SOLARINCDIR)/cairo" \ + CAIRO_LIBS="-lcairo" \ + GLIB_CFLAGS="-I$(SOLARINCDIR)/external/glib-2.0" \ + GLIB_LIBS="-lgthread-2.0 -lgmodule-2.0 -lgobject-2.0 -lglib-2.0 -lintl" +CONFIGURE_FLAGS=--with-included-modules=yes $(eq,$(VERBOSE),$(NULL) --enable-silent-rules --disable-silent-rules) +CONFIGURE_FLAGS+= CPPFLAGS="$(ARCH_FLAGS) $(EXTRA_CDEFS)" +CONFIGURE_ACTION+="--without-x" + +.IF "$(CROSS_COMPILING)"=="YES" +CONFIGURE_FLAGS+=--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM) +.ENDIF + +.IF "$(VERBOSE)"!="" +VFLAG=V=1 +.ENDIF +BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) $(VFLAG) +BUILD_DIR=$(CONFIGURE_DIR) + +EXTRPATH=LOADER + +OUT2LIB+=pango/.libs/libpango-1.0.0.dylib +OUT2LIB+=pango/.libs/libpangocairo-1.0.0.dylib + +OUT2BIN+=pango/.libs/pango-querymodules + +OUT2INC+=pango/pango-attributes.h +OUT2INC+=pango/pango-enum-types.h +OUT2INC+=pango/pango-glyph.h +OUT2INC+=pango/pango-modules.h +OUT2INC+=pango/pango.h +OUT2INC+=pango/pango-bidi-type.h +OUT2INC+=pango/pango-features.h +OUT2INC+=pango/pango-gravity.h +OUT2INC+=pango/pango-renderer.h +OUT2INC+=pango/pangoatsui.h +OUT2INC+=pango/pango-break.h +OUT2INC+=pango/pango-font.h +OUT2INC+=pango/pango-item.h +OUT2INC+=pango/pango-script.h +OUT2INC+=pango/pangocairo.h +OUT2INC+=pango/pango-context.h +OUT2INC+=pango/pango-fontmap.h +OUT2INC+=pango/pango-language.h +OUT2INC+=pango/pango-tabs.h +OUT2INC+=pango/pango-coverage.h +OUT2INC+=pango/pango-fontset.h +OUT2INC+=pango/pango-layout.h +OUT2INC+=pango/pango-types.h +OUT2INC+=pango/pango-engine.h +OUT2INC+=pango/pango-glyph-item.h +OUT2INC+=pango/pango-matrix.h +OUT2INC+=pango/pango-utils.h + +.ELIF "$(OS)"=="WNT" + +PATCH_FILES=pango-1.28.3-win32.patch +ADDITIONAL_FILES=config.h msvc_recommended_pragmas.h +CONFIGURE_DIR= +CONFIGURE_ACTION= +BUILD_DIR=./pango +BUILD_ACTION=nmake -f makefile.msc + +OUT2LIB+=pango/pango-1.0.lib +OUT2LIB+=pango/pangocairo-1.0.lib +OUT2LIB+=pango/pangowin32-1.0.lib + +OUT2BIN+=pango/pangolo.dll +OUT2BIN+=pango/pangocairolo.dll +OUT2BIN+=pango/pangowin32lo.dll +OUT2BIN+=pango/querymodules.exe + +OUT2INC+=pango/pango.h +OUT2INC+=pango/pangocairo.h +OUT2INC+=pango/pango-attributes.h +OUT2INC+=pango/pango-bidi-type.h +OUT2INC+=pango/pango-break.h +OUT2INC+=pango/pango-context.h +OUT2INC+=pango/pango-coverage.h +OUT2INC+=pango/pango-engine.h +OUT2INC+=pango/pango-enum-types.h +OUT2INC+=pango/pango-features.h +OUT2INC+=pango/pango-font.h +OUT2INC+=pango/pango-fontmap.h +OUT2INC+=pango/pango-fontset.h +OUT2INC+=pango/pango-glyph.h +OUT2INC+=pango/pango-glyph-item.h +OUT2INC+=pango/pango-gravity.h +OUT2INC+=pango/pango-item.h +OUT2INC+=pango/pango-language.h +OUT2INC+=pango/pango-layout.h +OUT2INC+=pango/pango-matrix.h +OUT2INC+=pango/pango-renderer.h +OUT2INC+=pango/pango-script.h +OUT2INC+=pango/pango-tabs.h +OUT2INC+=pango/pango-types.h +OUT2INC+=pango/pango-utils.h + +.ELSE +.ENDIF + +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk diff --git a/pango/pango-1.28.3-win32.patch b/pango/pango-1.28.3-win32.patch new file mode 100644 index 000000000000..b938accb2899 --- /dev/null +++ b/pango/pango-1.28.3-win32.patch @@ -0,0 +1,649 @@ +--- misc/pango-1.28.3/configure 2010-09-29 13:02:33.000000000 +0200 ++++ misc/build/pango-1.28.3/configure 2011-03-26 06:09:01.021181200 +0100 +@@ -18596,16 +18596,16 @@ + fi + + if $have_atsui; then +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo-quartz-font >= \$cairo_required\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "cairo-quartz-font >= $cairo_required") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then ++# if test -n "$PKG_CONFIG" && \ ++# { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo-quartz-font >= \$cairo_required\""; } >&5 ++# ($PKG_CONFIG --exists --print-errors "cairo-quartz-font >= $cairo_required") 2>&5 ++# ac_status=$? ++# $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++# test $ac_status = 0; }; then + have_cairo_atsui=true +-else +- : +-fi ++#else ++# : ++#fi + fi + if $have_cairo_atsui; then + +@@ -18859,7 +18859,7 @@ + + # Setup GLIB_MKENUMS to use glib-mkenums even if GLib is uninstalled. + GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` +- ++GLIB_MKENUMS=glib-mkenums + + + # Add in gthread-2.0 to CFLAGS but not to LIBS so we get any +--- misc/pango-1.28.3/pango/makefile.msc 2010-02-09 13:06:28.000000000 +0100 ++++ misc/build/pango-1.28.3/pango/makefile.msc 2011-03-26 15:41:45.375966400 +0100 +@@ -1,5 +1,15 @@ +-TOP = ../.. +-!INCLUDE $(TOP)/glib/build/win32/make.msc ++PRJ_TOP = .. ++GLIB_INC = -I$(OUTDIR)\inc\external\glib-2.0 ++CAIRO_INC = -I$(OUTDIR)\inc\external\cairo ++ ++INTL_LIB = $(OUTDIR)\lib\intl.lib ++GLIB_LIB = $(OUTDIR)\lib\glib-2.0.lib \ ++ $(OUTDIR)\lib\gobject-2.0.lib \ ++ $(OUTDIR)\lib\gmodule-2.0.lib ++CAIRO_LIB = $(OUTDIR)\lib\cairo.lib ++USP10_LIB = USP10.lib ++ ++!INCLUDE $(OUTDIR)\inc\external\glib-2.0\make.msc + + !IFNDEF PERL + PERL = perl +@@ -16,7 +26,7 @@ + + !IFNDEF PACKAGE + +-DLLS = pango pangowin32 pangoft2 pangocairo # pangox ++DLLS = pango pangowin32 pangocairo # pangox pangoft2 + EXES = querymodules testfonts + #? test1 test2 test3 test4 test5 + +@@ -30,7 +30,7 @@ + nmake -nologo -f makefile.msc $(THIS)-$(PANGO_VER)s.lib PACKAGE=$(THIS) OBJS_$(THIS)=1 + + sub-one-dll: +- nmake -nologo -f makefile.msc lib$(THIS)-$(PANGO_VER)-0.dll PACKAGE=$(THIS) OBJS_$(THIS)=1 ++ nmake -nologo -f makefile.msc $(THIS)lo.dll PACKAGE=$(THIS) OBJS_$(THIS)=1 + + sub-one-exe: + nmake -nologo -f makefile.msc $(THIS).exe PACKAGE=$(THIS) OBJS_$(THIS)=1 +@@ -40,28 +50,28 @@ + + !ELSE + +-PRJ_TOP = .. ++CFLAGS = -I. -I$(PRJ_TOP) $(SOLARINC) $(GLIB_INC) $(CAIRO_INC) ++ + PKG_VER = $(PANGO_VER) + PKG_DEF = $(PACKAGE).def +- +-PKG_CFLAGS = -FImsvc_recommended_pragmas.h -I.. -I. -I$(PRJ_TOP) \ ++PKG_CFLAGS = -FI$(PRJ_TOP)\msvc_recommended_pragmas.h $(CFLAGS) \ + -DPACKAGE=\"Pango\" -DVERSION=\"$(PANGO_VER)\" \ + -DPANGO_ENABLE_BACKEND -DPANGO_ENABLE_ENGINE \ + -DMODULE_VERSION=\"$(PANGO_MODULE_VERSION)\" \ + $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \ + $(X11_CFLAGS) -DSYSCONFDIR=\"/etc\" \ +- -DPANGO_BINARY_AGE=0 ++ -DPANGO_BINARY_AGE=0 \ ++ -DLIBDIR=\".\\\\\" + + #-DHAVE_USP10_H +- + + !IFDEF OBJS_pango + # don't link with itself +-PKG_LINK = $(GLIB_LIBS) $(FONTCONFIG_LIBS) ++PKG_LINK = $(GLIB_LIB) + !ENDIF + + !IFDEF OBJS_pangowin32 +-PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ ++PKG_LINK = $(GLIB_LIB) $(INTL_LIB) $(USP10_LIB) \ + pango-$(PANGO_VER).lib + !ENDIF + +@@ -69,23 +79,24 @@ + PKG_CFLAGS = $(PKG_CFLAGS) $(FREETYPE2_CFLAGS) $(FONTCONFIG_CFLAGS) \ + -DPANGO_MODULE_PREFIX=_pango_basic_ft2 + +-PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) $(FREETYPE2_LIBS) $(FONTCONFIG_LIBS) \ ++PKG_LINK = $(GLIB_LIB) $(INTL_LIB) $(FREETYPE2_LIBS) $(FONTCONFIG_LIBS) \ + pango-$(PANGO_VER).lib opentype\pango-ot.lib + !ENDIF + + !IFDEF OBJS_pangox +-PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ ++PKG_LINK = $(GLIB_LIB) $(INTL_LIB) \ + pango-$(PANGO_VER).lib $(X11_LIBS) + !ENDIF + + !IFDEF OBJS_pangocairo +-PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ +- pango-$(PANGO_VER).lib $(CAIRO_LIBS) \ +- pangowin32-$(PANGO_VER).lib $(FONTCONFIG_LIBS) ++PKG_CFLAGS = $(PKG_CFLAGS) ++PKG_LINK = $(GLIB_LIB) $(INTL_LIB) \ ++ pango-$(PANGO_VER).lib $(CAIRO_LIB) \ ++ pangowin32-$(PANGO_VER).lib + !ENDIF + + !IF DEFINED (OBJS_querymodules) || DEFINED (OBJS_testfonts) +-PKG_LINK = $(GLIB_LIBS) $(LIBICONV_LIBS) \ ++PKG_LINK = $(GLIB_LIB) $(INTL_LIB) \ + pango-$(PANGO_VER).lib pangowin32-$(PANGO_VER).lib + !ENDIF + +@@ -99,9 +110,10 @@ + ellipsize.obj \ + fonts.obj \ + glyphstring.obj \ +- mapping.obj \ ++# mapping.obj \ + modules.obj \ + pango-attributes.obj \ ++ pango-bidi-type.obj \ + pango-engine.obj \ + pango-color.obj \ + pango-context.obj \ +@@ -121,7 +133,6 @@ + pango-utils.obj \ + reorder-items.obj \ + shape.obj \ +- \ + fribidi.obj \ + fribidi_types.obj \ + fribidi_char_type.obj +@@ -215,15 +226,6 @@ + OBJECTS = $(PACKAGE).obj + !ENDIF + +-module-defs-win32.c : module-defs-win32.c.win32 +- copy module-defs-win32.c.win32 module-defs-win32.c +- +-module-defs-fc.c : module-defs-fc.c.win32 +- copy module-defs-fc.c.win32 module-defs-fc.c +- +-module-defs-lang.c : module-defs-lang.c.win32 +- copy module-defs-lang.c.win32 module-defs-lang.c +- + pango_headers= \ + pango.h \ + pango-attributes.h \ +@@ -249,7 +251,7 @@ + pangofc-fontmap.h + + pango-enum-types.h: $(pango_headers) makefile.msc +- $(PERL) $(GLIB)\gobject\glib-mkenums \ ++ perl $(OUTDIR)\bin\glib-mkenums \ + --fhead "#ifndef __PANGO_ENUM_TYPES_H__\n#define __PANGO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \ + --fprod "/* enumerations from \"@filename@\" */\n" \ + --vhead "GType @enum_name@_get_type (void);\n#define PANGO_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ +@@ -257,7 +259,7 @@ + $(pango_headers) > pango-enum-types.h + + pango-enum-types.c: $(pango_headers) pango-enum-types.h makefile.msc +- $(PERL) $(GLIB)\gobject\glib-mkenums \ ++ perl $(OUTDIR)\bin\glib-mkenums \ + --fhead "#include <pango.h>" \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ +@@ -275,22 +277,13 @@ + $(PACKAGE)-$(PKG_VER)s.lib : $(OBJECTS) $(PRJ_TOP)\config.h + lib /out:$(PACKAGE)-$(PKG_VER)s.lib $(OBJECTS) + +-lib$(PACKAGE)-$(PKG_VER)-0.dll : $(OBJECTS) $(PKG_DEF) $(PRJ_TOP)\config.h ++$(PACKAGE)lo.dll : $(OBJECTS) $(PKG_DEF) $(PRJ_TOP)\config.h + $(CC) $(CFLAGS) -LD -Fe$@ $(OBJECTS) $(PKG_LINK) \ + user32.lib gdi32.lib advapi32.lib $(LDFLAGS) /implib:$(PACKAGE)-$(PKG_VER).lib /def:$(PKG_DEF) + + $(PACKAGE).exe : $(PKG_LINK) $(OBJECTS) + $(CC) $(CFLAGS) -Fe$(PACKAGE).exe $(OBJECTS) $(PKG_LINK) gdi32.lib user32.lib + +-$(PRJ_TOP)\config.h.win32 : makefile.msc +- echo /*almostempty*/ > $(PRJ_TOP)\config.h.win32 +- echo #define PANGO_BINARY_AGE 0 >> $(PRJ_TOP)\config.h.win32 +- echo #define DHAVE_USP10_H 1 >> $(PRJ_TOP)\config.h.win32 +- +-$(PRJ_TOP)\config.h: $(PRJ_TOP)\config.h.win32 +- copy $(PRJ_TOP)\config.h.win32 $(PRJ_TOP)\config.h +- +- + .c.obj : + $(CC) $(CFLAGS) -GD -c $(PKG_CFLAGS) $< + +--- misc/pango-1.28.3/pango/module-defs-win32.c 2010-09-29 13:02:42.000000000 +0200 ++++ misc/build/pango-1.28.3/pango/module-defs-win32.c 2011-03-26 08:57:53.088370000 +0100 +@@ -1,7 +1,25 @@ +-/* Autogenerated by configure. Do not edit */ ++/* Hand-written, for builds using Microsoft's compiler and makefile.msc, ++ * where the configure mechanism isn't used. ++ */ + +-#include "module-defs.h" ++#include "modules.h" ++ ++#ifdef PANGO_MODULE_PREFIX ++void _pango_basic_win32_script_engine_list (PangoEngineInfo **engines, ++ gint *n_engines); ++void _pango_basic_win32_script_engine_init (GTypeModule *module); ++void _pango_basic_win32_script_engine_exit (void); ++PangoEngine *_pango_basic_win32_script_engine_create (const char *id); ++#endif + + PangoIncludedModule _pango_included_win32_modules[] = { +- { NULL, NULL, NULL, NULL }, ++#ifdef PANGO_MODULE_PREFIX ++ { ++ _pango_basic_win32_script_engine_list, ++ _pango_basic_win32_script_engine_init, ++ _pango_basic_win32_script_engine_exit, ++ _pango_basic_win32_script_engine_create ++ }, ++#endif ++ { NULL, NULL, NULL }, + }; +--- misc/pango-1.28.3/pango/pango-enum-types.c 2010-09-29 13:02:42.000000000 +0200 ++++ misc/build/pango-1.28.3/pango/pango-enum-types.c 2011-03-26 15:41:51.313542400 +0100 +@@ -35,7 +35,7 @@ + { PANGO_ATTR_GRAVITY_HINT, "PANGO_ATTR_GRAVITY_HINT", "gravity-hint" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoAttrType"), values); ++ etype = g_enum_register_static ("PangoAttrType", values); + } + return etype; + } +@@ -52,59 +52,7 @@ + { PANGO_UNDERLINE_ERROR, "PANGO_UNDERLINE_ERROR", "error" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoUnderline"), values); +- } +- return etype; +-} +- +-/* enumerations from "pango-bidi-type.h" */ +-GType +-pango_bidi_type_get_type (void) +-{ +- static GType etype = 0; +- if (etype == 0) { +- static const GEnumValue values[] = { +- { PANGO_BIDI_TYPE_L, "PANGO_BIDI_TYPE_L", "l" }, +- { PANGO_BIDI_TYPE_LRE, "PANGO_BIDI_TYPE_LRE", "lre" }, +- { PANGO_BIDI_TYPE_LRO, "PANGO_BIDI_TYPE_LRO", "lro" }, +- { PANGO_BIDI_TYPE_R, "PANGO_BIDI_TYPE_R", "r" }, +- { PANGO_BIDI_TYPE_AL, "PANGO_BIDI_TYPE_AL", "al" }, +- { PANGO_BIDI_TYPE_RLE, "PANGO_BIDI_TYPE_RLE", "rle" }, +- { PANGO_BIDI_TYPE_RLO, "PANGO_BIDI_TYPE_RLO", "rlo" }, +- { PANGO_BIDI_TYPE_PDF, "PANGO_BIDI_TYPE_PDF", "pdf" }, +- { PANGO_BIDI_TYPE_EN, "PANGO_BIDI_TYPE_EN", "en" }, +- { PANGO_BIDI_TYPE_ES, "PANGO_BIDI_TYPE_ES", "es" }, +- { PANGO_BIDI_TYPE_ET, "PANGO_BIDI_TYPE_ET", "et" }, +- { PANGO_BIDI_TYPE_AN, "PANGO_BIDI_TYPE_AN", "an" }, +- { PANGO_BIDI_TYPE_CS, "PANGO_BIDI_TYPE_CS", "cs" }, +- { PANGO_BIDI_TYPE_NSM, "PANGO_BIDI_TYPE_NSM", "nsm" }, +- { PANGO_BIDI_TYPE_BN, "PANGO_BIDI_TYPE_BN", "bn" }, +- { PANGO_BIDI_TYPE_B, "PANGO_BIDI_TYPE_B", "b" }, +- { PANGO_BIDI_TYPE_S, "PANGO_BIDI_TYPE_S", "s" }, +- { PANGO_BIDI_TYPE_WS, "PANGO_BIDI_TYPE_WS", "ws" }, +- { PANGO_BIDI_TYPE_ON, "PANGO_BIDI_TYPE_ON", "on" }, +- { 0, NULL, NULL } +- }; +- etype = g_enum_register_static (g_intern_static_string ("PangoBidiType"), values); +- } +- return etype; +-} +-GType +-pango_direction_get_type (void) +-{ +- static GType etype = 0; +- if (etype == 0) { +- static const GEnumValue values[] = { +- { PANGO_DIRECTION_LTR, "PANGO_DIRECTION_LTR", "ltr" }, +- { PANGO_DIRECTION_RTL, "PANGO_DIRECTION_RTL", "rtl" }, +- { PANGO_DIRECTION_TTB_LTR, "PANGO_DIRECTION_TTB_LTR", "ttb-ltr" }, +- { PANGO_DIRECTION_TTB_RTL, "PANGO_DIRECTION_TTB_RTL", "ttb-rtl" }, +- { PANGO_DIRECTION_WEAK_LTR, "PANGO_DIRECTION_WEAK_LTR", "weak-ltr" }, +- { PANGO_DIRECTION_WEAK_RTL, "PANGO_DIRECTION_WEAK_RTL", "weak-rtl" }, +- { PANGO_DIRECTION_NEUTRAL, "PANGO_DIRECTION_NEUTRAL", "neutral" }, +- { 0, NULL, NULL } +- }; +- etype = g_enum_register_static (g_intern_static_string ("PangoDirection"), values); ++ etype = g_enum_register_static ("PangoUnderline", values); + } + return etype; + } +@@ -122,7 +70,7 @@ + { PANGO_COVERAGE_EXACT, "PANGO_COVERAGE_EXACT", "exact" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoCoverageLevel"), values); ++ etype = g_enum_register_static ("PangoCoverageLevel", values); + } + return etype; + } +@@ -139,7 +87,7 @@ + { PANGO_STYLE_ITALIC, "PANGO_STYLE_ITALIC", "italic" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoStyle"), values); ++ etype = g_enum_register_static ("PangoStyle", values); + } + return etype; + } +@@ -153,7 +101,7 @@ + { PANGO_VARIANT_SMALL_CAPS, "PANGO_VARIANT_SMALL_CAPS", "small-caps" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoVariant"), values); ++ etype = g_enum_register_static ("PangoVariant", values); + } + return etype; + } +@@ -176,7 +124,7 @@ + { PANGO_WEIGHT_ULTRAHEAVY, "PANGO_WEIGHT_ULTRAHEAVY", "ultraheavy" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoWeight"), values); ++ etype = g_enum_register_static ("PangoWeight", values); + } + return etype; + } +@@ -197,7 +145,7 @@ + { PANGO_STRETCH_ULTRA_EXPANDED, "PANGO_STRETCH_ULTRA_EXPANDED", "ultra-expanded" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoStretch"), values); ++ etype = g_enum_register_static ("PangoStretch", values); + } + return etype; + } +@@ -216,7 +164,7 @@ + { PANGO_FONT_MASK_GRAVITY, "PANGO_FONT_MASK_GRAVITY", "gravity" }, + { 0, NULL, NULL } + }; +- etype = g_flags_register_static (g_intern_static_string ("PangoFontMask"), values); ++ etype = g_flags_register_static ("PangoFontMask", values); + } + return etype; + } +@@ -235,7 +183,7 @@ + { PANGO_GRAVITY_AUTO, "PANGO_GRAVITY_AUTO", "auto" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoGravity"), values); ++ etype = g_enum_register_static ("PangoGravity", values); + } + return etype; + } +@@ -250,7 +198,7 @@ + { PANGO_GRAVITY_HINT_LINE, "PANGO_GRAVITY_HINT_LINE", "line" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoGravityHint"), values); ++ etype = g_enum_register_static ("PangoGravityHint", values); + } + return etype; + } +@@ -267,7 +215,7 @@ + { PANGO_ALIGN_RIGHT, "PANGO_ALIGN_RIGHT", "right" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoAlignment"), values); ++ etype = g_enum_register_static ("PangoAlignment", values); + } + return etype; + } +@@ -282,7 +230,7 @@ + { PANGO_WRAP_WORD_CHAR, "PANGO_WRAP_WORD_CHAR", "word-char" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoWrapMode"), values); ++ etype = g_enum_register_static ("PangoWrapMode", values); + } + return etype; + } +@@ -298,7 +246,7 @@ + { PANGO_ELLIPSIZE_END, "PANGO_ELLIPSIZE_END", "end" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoEllipsizeMode"), values); ++ etype = g_enum_register_static ("PangoEllipsizeMode", values); + } + return etype; + } +@@ -316,7 +264,7 @@ + { PANGO_RENDER_PART_STRIKETHROUGH, "PANGO_RENDER_PART_STRIKETHROUGH", "strikethrough" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoRenderPart"), values); ++ etype = g_enum_register_static ("PangoRenderPart", values); + } + return etype; + } +@@ -409,7 +357,7 @@ + { PANGO_SCRIPT_LYDIAN, "PANGO_SCRIPT_LYDIAN", "lydian" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoScript"), values); ++ etype = g_enum_register_static ("PangoScript", values); + } + return etype; + } +@@ -424,7 +372,7 @@ + { PANGO_TAB_LEFT, "PANGO_TAB_LEFT", "left" }, + { 0, NULL, NULL } + }; +- etype = g_enum_register_static (g_intern_static_string ("PangoTabAlign"), values); ++ etype = g_enum_register_static ("PangoTabAlign", values); + } + return etype; + } +--- misc/pango-1.28.3/pango/pango-enum-types.h 2010-09-29 13:02:42.000000000 +0200 ++++ misc/build/pango-1.28.3/pango/pango-enum-types.h 2011-03-26 15:41:50.922912400 +0100 +@@ -12,11 +12,6 @@ + #define PANGO_TYPE_ATTR_TYPE (pango_attr_type_get_type()) + GType pango_underline_get_type (void); + #define PANGO_TYPE_UNDERLINE (pango_underline_get_type()) +-/* enumerations from "pango-bidi-type.h" */ +-GType pango_bidi_type_get_type (void); +-#define PANGO_TYPE_BIDI_TYPE (pango_bidi_type_get_type()) +-GType pango_direction_get_type (void); +-#define PANGO_TYPE_DIRECTION (pango_direction_get_type()) + /* enumerations from "pango-coverage.h" */ + GType pango_coverage_level_get_type (void); + #define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type()) +@@ -53,7 +48,6 @@ + GType pango_tab_align_get_type (void); + #define PANGO_TYPE_TAB_ALIGN (pango_tab_align_get_type()) + G_END_DECLS +- + #endif /* __PANGO_ENUM_TYPES_H__ */ + + +--- misc/pango-1.28.3/pango/pango-language.c 2010-02-09 13:06:28.000000000 +0100 ++++ misc/build/pango-1.28.3/pango/pango-language.c 2011-03-26 10:25:32.858819200 +0100 +@@ -169,7 +169,6 @@ + static gchar * + _pango_get_lc_ctype (void) + { +-#ifdef G_OS_WIN32 + /* Somebody might try to set the locale for this process using the + * LANG or LC_ environment variables. The Microsoft C library + * doesn't know anything about them. You set the locale in the +@@ -196,9 +195,6 @@ + return g_strdup (p); + + return g_win32_getlocale (); +-#else +- return g_strdup (setlocale (LC_CTYPE, NULL)); +-#endif + } + + /** +--- misc/pango-1.28.3/pango/pango-utils.c 2010-09-29 12:39:16.000000000 +0200 ++++ misc/build/pango-1.28.3/pango/pango-utils.c 2011-03-26 11:07:49.125658000 +0100 +@@ -38,15 +38,11 @@ + # define getc_unlocked(f) getc(f) + #endif /* !HAVE_FLOCKFILE */ + +-#ifdef G_OS_WIN32 +- + #include <sys/types.h> + + #define STRICT + #include <windows.h> + +-#endif +- + struct PangoAlias + { + char *alias; +@@ -204,25 +200,6 @@ + + continue; + } +-#ifndef G_OS_WIN32 +- /* '~' is a quite normal and common character in file names on +- * Windows, especially in the 8.3 versions of long file names, which +- * still occur now and then. Also, few Windows user are aware of the +- * Unix shell convention that '~' stands for the home directory, +- * even if they happen to have a home directory. +- */ +- if (file[0] == '~' && file[1] == G_DIR_SEPARATOR) +- { +- char *tmp = g_strconcat (g_get_home_dir(), file + 1, NULL); +- g_free (file); +- file = tmp; +- } +- else if (file[0] == '~' && file[1] == '\0') +- { +- g_free (file); +- file = g_strdup (g_get_home_dir()); +- } +-#endif + g_free (files[i]); + files[i] = file; + +@@ -655,8 +632,6 @@ + return g_strdup (g_hash_table_lookup (config_hash, key)); + } + +-#ifdef G_OS_WIN32 +- + /* DllMain function needed to tuck away the DLL handle */ + + static HMODULE pango_dll; +@@ -676,8 +651,6 @@ + return TRUE; + } + +-#endif +- + /** + * pango_get_sysconf_subdirectory: + * +@@ -692,7 +665,6 @@ + G_CONST_RETURN char * + pango_get_sysconf_subdirectory (void) + { +-#ifdef G_OS_WIN32 + static gchar *result = NULL; + + if (result == NULL) +@@ -702,9 +674,6 @@ + g_free (root); + } + return result; +-#else +- return SYSCONFDIR "/pango"; +-#endif + } + + /** +@@ -721,7 +690,6 @@ + G_CONST_RETURN char * + pango_get_lib_subdirectory (void) + { +-#ifdef G_OS_WIN32 + static gchar *result = NULL; + + if (result == NULL) +@@ -737,9 +705,6 @@ + g_free (root); + } + return result; +-#else +- return LIBDIR "/pango"; +-#endif + } + + +--- misc/pango-1.28.3/pango/pango.def 2010-02-09 13:06:28.000000000 +0100 ++++ misc/build/pango-1.28.3/pango/pango.def 2011-03-26 11:10:51.284239600 +0100 +@@ -49,7 +49,6 @@ + pango_attribute_destroy + pango_attribute_equal + pango_bidi_type_for_unichar +- pango_bidi_type_get_type + pango_break + pango_color_copy + pango_color_free +@@ -89,7 +88,6 @@ + pango_coverage_to_bytes + pango_coverage_unref + pango_default_break +- pango_direction_get_type + pango_ellipsize_mode_get_type + pango_engine_get_type + pango_engine_lang_get_type +--- misc/pango-1.28.3/config.h 2011-03-26 08:43:30.577330000 +0100 ++++ misc/build/pango-1.28.3/config.h 2011-03-26 08:42:01.216811200 +0100 +@@ -1 +1,3 @@ +-dummy ++/*almostempty*/ ++#define PANGO_BINARY_AGE 0 ++#define DHAVE_USP10_H 1 +--- misc/pango-1.28.3/msvc_recommended_pragmas.h 2011-03-26 07:30:07.692848800 +0100 ++++ misc/build/pango-1.28.3/msvc_recommended_pragmas.h 2011-03-26 07:34:43.524504400 +0100 +@@ -1 +1,31 @@ +-dummy ++#ifndef _MSC_VER ++#pragma error "This header is for Microsoft VC only." ++#endif /* _MSC_VER */ ++ ++/* Make MSVC more pedantic, this is a recommended pragma list ++ * from _Win32_Programming_ by Rector and Newcomer. ++ */ ++#pragma warning(error:4002) /* too many actual parameters for macro */ ++#pragma warning(error:4003) /* not enough actual parameters for macro */ ++#pragma warning(1:4010) /* single-line comment contains line-continuation character */ ++#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */ ++#pragma warning(1:4016) /* no function return type; using int as default */ ++#pragma warning(error:4020) /* too many actual parameters */ ++#pragma warning(error:4021) /* too few actual parameters */ ++#pragma warning(error:4027) /* function declared without formal parameter list */ ++#pragma warning(error:4029) /* declared formal parameter list different from definition */ ++#pragma warning(error:4033) /* 'function' must return a value */ ++#pragma warning(error:4035) /* 'function' : no return value */ ++#pragma warning(error:4045) /* array bounds overflow */ ++#pragma warning(error:4047) /* different levels of indirection */ ++#pragma warning(error:4049) /* terminating line number emission */ ++#pragma warning(error:4053) /* An expression of type void was used as an operand */ ++#pragma warning(error:4071) /* no function prototype given */ ++#pragma warning(disable:4101) /* unreferenced local variable */ ++#pragma warning(error:4150) ++ ++#pragma warning(disable:4244) /* No possible loss of data warnings */ ++#pragma warning(disable:4305) /* No truncation from int to char warnings */ ++ ++/* work around Microsoft's premature attempt to deprecate the C-Library */ ++#pragma warning(disable:4996) /* This function or variable may be unsafe. */ diff --git a/pango/pango-1.28.3.patch b/pango/pango-1.28.3.patch new file mode 100644 index 000000000000..45ce441dfcbd --- /dev/null +++ b/pango/pango-1.28.3.patch @@ -0,0 +1,65 @@ +--- misc/pango-1.28.3/configure 2010-09-29 13:02:33.000000000 +0200 ++++ misc/build/pango-1.28.3/configure 2011-03-01 17:56:26.000000000 +0100 +@@ -17980,8 +17980,6 @@ + + + if test x$no_x = xyes ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: X development libraries not found" >&5 +-$as_echo "$as_me: WARNING: X development libraries not found" >&2;} + have_x=false + else + X_LIBS="$X_LIBS -lX11" +@@ -18596,16 +18594,16 @@ + fi + + if $have_atsui; then +- if test -n "$PKG_CONFIG" && \ +- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo-quartz-font >= \$cairo_required\""; } >&5 +- ($PKG_CONFIG --exists --print-errors "cairo-quartz-font >= $cairo_required") 2>&5 +- ac_status=$? +- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 +- test $ac_status = 0; }; then ++# if test -n "$PKG_CONFIG" && \ ++# { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"cairo-quartz-font >= \$cairo_required\""; } >&5 ++# ($PKG_CONFIG --exists --print-errors "cairo-quartz-font >= $cairo_required") 2>&5 ++# ac_status=$? ++# $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 ++# test $ac_status = 0; }; then + have_cairo_atsui=true +-else +- : +-fi ++#else ++# : ++#fi + fi + if $have_cairo_atsui; then + +@@ -18858,20 +18856,20 @@ + fi + + # Setup GLIB_MKENUMS to use glib-mkenums even if GLib is uninstalled. +-GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` +- ++#GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` ++GLIB_MKENUMS=glib-mkenums + + + # Add in gthread-2.0 to CFLAGS but not to LIBS so we get any + # necesary defines for thread-safety. +-GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_MODULES gthread-2.0` ++#GLIB_CFLAGS=`$PKG_CONFIG --cflags $GLIB_MODULES gthread-2.0` + + # See if it's safe to turn G_DISABLE_DEPRECATED on. +-GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.[^.]*\$//"` +-GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo $GLIB_REQUIRED_VERSION | sed "s/\.[^.]*\$//"` +-if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then ++#GLIB_VERSION_MAJOR_MINOR=`$PKG_CONFIG --modversion glib-2.0 | sed "s/\.[^.]*\$//"` ++#GLIB_REQUIRED_VERSION_MAJOR_MINOR=`echo $GLIB_REQUIRED_VERSION | sed "s/\.[^.]*\$//"` ++#if test "x$GLIB_VERSION_MAJOR_MINOR" = "x$GLIB_REQUIRED_VERSION_MAJOR_MINOR"; then + GLIB_CFLAGS="-DG_DISABLE_DEPRECATED $GLIB_CFLAGS" +-fi ++#fi + + # + # Checks for LibThai diff --git a/pango/prj/build.lst b/pango/prj/build.lst new file mode 100644 index 000000000000..692ab2c2e592 --- /dev/null +++ b/pango/prj/build.lst @@ -0,0 +1,3 @@ +pg pango : gettext glib soltools cairo NULL +pg pango usr1 - all pg_mkout NULL +pg pango nmake - all pg_pango NULL diff --git a/pango/prj/d.lst b/pango/prj/d.lst new file mode 100755 index 000000000000..2597aa37e623 --- /dev/null +++ b/pango/prj/d.lst @@ -0,0 +1,44 @@ +mkdir: %_DEST%\inc\external +mkdir: %_DEST%\inc\external\pango-1.0 +mkdir: %_DEST%\inc\external\pango-1.0\pango + +..\%__SRC%\inc\pango.h %_DEST%\inc\external\pango-1.0\pango\pango.h +..\%__SRC%\inc\pangocairo.h %_DEST%\inc\external\pango-1.0\pango\pangocairo.h +..\%__SRC%\inc\pangoatsui.h %_DEST%\inc\external\pango-1.0\pango\pangoatsui.h +..\%__SRC%\inc\pango-attributes.h %_DEST%\inc\external\pango-1.0\pango\pango-attributes.h +..\%__SRC%\inc\pango-bidi-type.h %_DEST%\inc\external\pango-1.0\pango\pango-bidi-type.h +..\%__SRC%\inc\pango-break.h %_DEST%\inc\external\pango-1.0\pango\pango-break.h +..\%__SRC%\inc\pango-context.h %_DEST%\inc\external\pango-1.0\pango\pango-context.h +..\%__SRC%\inc\pango-coverage.h %_DEST%\inc\external\pango-1.0\pango\pango-coverage.h +..\%__SRC%\inc\pango-engine.h %_DEST%\inc\external\pango-1.0\pango\pango-engine.h +..\%__SRC%\inc\pango-enum-types.h %_DEST%\inc\external\pango-1.0\pango\pango-enum-types.h +..\%__SRC%\inc\pango-features.h %_DEST%\inc\external\pango-1.0\pango\pango-features.h +..\%__SRC%\inc\pango-font.h %_DEST%\inc\external\pango-1.0\pango\pango-font.h +..\%__SRC%\inc\pango-fontmap.h %_DEST%\inc\external\pango-1.0\pango\pango-fontmap.h +..\%__SRC%\inc\pango-fontset.h %_DEST%\inc\external\pango-1.0\pango\pango-fontset.h +..\%__SRC%\inc\pango-glyph.h %_DEST%\inc\external\pango-1.0\pango\pango-glyph.h +..\%__SRC%\inc\pango-glyph-item.h %_DEST%\inc\external\pango-1.0\pango\pango-glyph-item.h +..\%__SRC%\inc\pango-gravity.h %_DEST%\inc\external\pango-1.0\pango\pango-gravity.h +..\%__SRC%\inc\pango-item.h %_DEST%\inc\external\pango-1.0\pango\pango-item.h +..\%__SRC%\inc\pango-language.h %_DEST%\inc\external\pango-1.0\pango\pango-language.h +..\%__SRC%\inc\pango-layout.h %_DEST%\inc\external\pango-1.0\pango\pango-layout.h +..\%__SRC%\inc\pango-matrix.h %_DEST%\inc\external\pango-1.0\pango\pango-matrix.h +..\%__SRC%\inc\pango-modules.h %_DEST%\inc\external\pango-1.0\pango\pango-modules.h +..\%__SRC%\inc\pango-renderer.h %_DEST%\inc\external\pango-1.0\pango\pango-renderer.h +..\%__SRC%\inc\pango-script.h %_DEST%\inc\external\pango-1.0\pango\pango-script.h +..\%__SRC%\inc\pango-tabs.h %_DEST%\inc\external\pango-1.0\pango\pango-tabs.h +..\%__SRC%\inc\pango-types.h %_DEST%\inc\external\pango-1.0\pango\pango-types.h +..\%__SRC%\inc\pango-utils.h %_DEST%\inc\external\pango-1.0\pango\pango-utils.h + +..\%__SRC%\lib\libpango-1.0.0.dylib %_DEST%\lib\libpango-1.0.0.dylib +symlink: %_DEST%\lib\libpango-1.0.0.dylib %_DEST%\lib\libpango-1.0.dylib +..\%__SRC%\lib\libpangocairo-1.0.0.dylib %_DEST%\lib\libpangocairo-1.0.0.dylib +symlink: %_DEST%\lib\libpangocairo-1.0.0.dylib %_DEST%\lib\libpangocairo-1.0.dylib + +..\%__SRC%\lib\pango-1.0.lib %_DEST%\lib\pango-1.0.lib +..\%__SRC%\lib\pangocairo-1.0.lib %_DEST%\lib\pangocairo-1.0.lib +..\%__SRC%\lib\pangowin32-1.0.lib %_DEST%\lib\pangowin32-1.0.lib + +..\%__SRC%\bin\*.dll %_DEST%\bin +..\%__SRC%\bin\pango-querymodules %_DEST%\bin\pango-querymodules +..\%__SRC%\bin\querymodules.exe %_DEST%\bin\pango-querymodules.exe diff --git a/python/Python-2.6.1-arch_i386.patch b/python/Python-2.6.1-arch_i386.patch new file mode 100644 index 000000000000..6dca2c327abb --- /dev/null +++ b/python/Python-2.6.1-arch_i386.patch @@ -0,0 +1,11 @@ +--- misc/Python-2.6.1/configure 2010-05-06 20:24:36.000000000 +0200 ++++ misc/build/Python-2.6.1/configure 2010-05-06 20:25:17.000000000 +0200 +@@ -4653,7 +4653,7 @@ + if test "${enable_universalsdk}"; then + UNIVERSAL_ARCH_FLAGS="" + if test "$UNIVERSAL_ARCHS" = "32-bit" ; then +- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ UNIVERSAL_ARCH_FLAGS="-arch i386" + ARCH_RUN_32BIT="" + + elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then diff --git a/python/Python-2.6.1-arch_ppc.patch b/python/Python-2.6.1-arch_ppc.patch new file mode 100644 index 000000000000..d4073ac9de94 --- /dev/null +++ b/python/Python-2.6.1-arch_ppc.patch @@ -0,0 +1,11 @@ +--- misc/Python-2.6.1/configure 2010-05-06 20:24:36.000000000 +0200 ++++ misc/build/Python-2.6.1/configure 2010-05-06 20:25:17.000000000 +0200 +@@ -4653,7 +4653,7 @@ + if test "${enable_universalsdk}"; then + UNIVERSAL_ARCH_FLAGS="" + if test "$UNIVERSAL_ARCHS" = "32-bit" ; then +- UNIVERSAL_ARCH_FLAGS="-arch ppc -arch i386" ++ UNIVERSAL_ARCH_FLAGS="-arch ppc" + ARCH_RUN_32BIT="" + + elif test "$UNIVERSAL_ARCHS" = "64-bit" ; then diff --git a/python/Python-2.6.1-dylib_dynload.patch b/python/Python-2.6.1-dylib_dynload.patch new file mode 100644 index 000000000000..3e44502e389c --- /dev/null +++ b/python/Python-2.6.1-dylib_dynload.patch @@ -0,0 +1,14 @@ +add dylib to the extensions, to be able to load pyuno.dylib via "import pyuno" +--- misc/Python-2.6.1/Python/dynload_shlib.c 2006-01-04 02:30:17.000000000 +0100 ++++ misc/build/Python-2.6.1/Python/dynload_shlib.c 2011-06-11 19:42:09.000000000 +0200 +@@ -46,6 +46,10 @@ + {"module.exe", "rb", C_EXTENSION}, + {"MODULE.EXE", "rb", C_EXTENSION}, + #else ++#ifdef __APPLE__ ++ {".dylib", "rb", C_EXTENSION}, ++ {"module.dylib", "rb", C_EXTENSION}, ++#endif + {".so", "rb", C_EXTENSION}, + {"module.so", "rb", C_EXTENSION}, + #endif diff --git a/python/Python-2.6.1-mingw.patch b/python/Python-2.6.1-mingw.patch new file mode 100644 index 000000000000..26bc4cbd0648 --- /dev/null +++ b/python/Python-2.6.1-mingw.patch @@ -0,0 +1,1269 @@ +--- misc/Python-2.6.1/Include/pyport.h 2008-06-11 16:41:16.000000000 +0900 ++++ misc/build/Python-2.6.1/Include/pyport.h 2009-03-29 23:28:13.859000000 +0900 +@@ -3,6 +3,30 @@ + + #include "pyconfig.h" /* include for defines */ + ++#if defined(__MINGW32__) ++#undef HAVE_FORKPTY ++#undef HAVE_OPENPTY ++#undef HAVE_DEV_PTMX ++#undef _POSIX_THREADS ++#undef HAVE_PTHREAD_H ++#define MS_WINDOWS ++#define MS_WIN32 ++#define Py_WIN_WIDE_FILENAMES ++#ifndef PYTHONPATH ++# define PYTHONPATH ".\\lib;.\\lib\\python" VERSION ";.\\lib\\python" VERSION "\\lib-dynload;.\\lib\\python" VERSION "\\plat-winmingw32;.\\lib\\python" VERSION "\\lib-tk" ++#endif ++#define NT_THREADS ++#define WITH_THREAD ++#define WINVER 0x0501 ++#ifdef socklen_t ++#undef socklen_t ++#endif ++#define HAVE_ADDRINFO ++#define HAVE_GETADDRINFO ++#define HAVE_GETNAMEINFO ++#define HAVE_GETPEERNAME ++#endif ++ + #ifdef HAVE_STDINT_H + #include <stdint.h> + #endif +--- misc/Python-2.6.1/Lib/distutils/ccompiler.py 2008-02-22 03:18:37.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/ccompiler.py 2009-04-04 01:00:37.014250000 +0900 +@@ -1058,6 +1058,7 @@ + # on a cygwin built python we can use gcc like an ordinary UNIXish + # compiler + ('cygwin.*', 'unix'), ++ ('winmingw*', 'unix'), + ('os2emx', 'emx'), + + # OS name mappings +--- misc/Python-2.6.1/Lib/distutils/command/build_ext.py 2008-08-17 13:16:04.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/command/build_ext.py 2009-04-04 01:05:32.311125000 +0900 +@@ -223,7 +223,7 @@ + + # for extensions under Cygwin and AtheOS Python's library directory must be + # appended to library_dirs +- if sys.platform[:6] == 'cygwin' or sys.platform[:6] == 'atheos': ++ if sys.platform[:6] == 'cygwin' or sys.platform[:8] == 'winmingw' or sys.platform[:6] == 'atheos': + if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): + # building third party extensions + self.library_dirs.append(os.path.join(sys.prefix, "lib", +@@ -729,7 +729,7 @@ + # don't extend ext.libraries, it may be shared with other + # extensions, it is a reference to the original list + return ext.libraries + [pythonlib] +- elif sys.platform[:6] == "cygwin": ++ elif sys.platform[:6] == "cygwin" or sys.platform[:8] == "winmingw": + template = "python%d.%d" + pythonlib = (template % + (sys.hexversion >> 24, (sys.hexversion >> 16) & 0xff)) +--- misc/Python-2.6.1/Lib/distutils/command/install.py 2008-05-07 07:41:46.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/command/install.py 2009-04-05 23:15:56.540750000 +0900 +@@ -362,9 +362,10 @@ + + # Convert directories from Unix /-separated syntax to the local + # convention. +- self.convert_paths('lib', 'purelib', 'platlib', +- 'scripts', 'data', 'headers', +- 'userbase', 'usersite') ++ if os.sep != '/': ++ self.convert_paths('lib', 'purelib', 'platlib', ++ 'scripts', 'data', 'headers', ++ 'userbase', 'usersite') + + # Well, we're not actually fully completely finalized yet: we still + # have to deal with 'extra_path', which is the hack for allowing +@@ -376,7 +377,7 @@ + + # If a new root directory was supplied, make all the installation + # dirs relative to it. +- if self.root is not None: ++ if self.root is not None and self.root != "": + self.change_roots('libbase', 'lib', 'purelib', 'platlib', + 'scripts', 'data', 'headers') + +@@ -515,7 +516,10 @@ + def convert_paths (self, *names): + for name in names: + attr = "install_" + name +- setattr(self, attr, convert_path(getattr(self, attr))) ++ if self.root is None or self.root == "": ++ setattr(self, attr, getattr(self, attr).replace('/', os.sep)) ++ else: ++ setattr(self, attr, convert_path(getattr(self, attr))) + + + def handle_extra_path (self): +--- misc/Python-2.6.1/Lib/distutils/spawn.py 2004-11-11 07:23:15.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/spawn.py 2009-03-22 19:38:32.935625000 +0900 +@@ -186,7 +186,7 @@ + path = os.environ['PATH'] + paths = string.split(path, os.pathsep) + (base, ext) = os.path.splitext(executable) +- if (sys.platform == 'win32' or os.name == 'os2') and (ext != '.exe'): ++ if (sys.platform == 'win32' or sys.platform[:8] == "winmingw" or os.name == 'os2') and (ext != '.exe'): + executable = executable + '.exe' + if not os.path.isfile(executable): + for p in paths: +--- misc/Python-2.6.1/Lib/distutils/sysconfig.py 2008-06-05 21:58:24.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/sysconfig.py 2009-03-29 10:56:10.965750000 +0900 +@@ -381,6 +381,9 @@ + + raise DistutilsPlatformError(my_msg) + ++ if sys.platform[:8] == "winmingw": ++ g['SO'] = '.pyd' ++ + # On MacOSX we need to check the setting of the environment variable + # MACOSX_DEPLOYMENT_TARGET: configure bases some choices on it so + # it needs to be compatible. +@@ -510,6 +513,9 @@ + global _config_vars + if _config_vars is None: + func = globals().get("_init_" + os.name) ++ if sys.platform[:8] == "winmingw": ++ func = globals().get("_init_posix") ++ + if func: + func() + else: +--- misc/Python-2.6.1/Lib/distutils/unixccompiler.py 2008-07-16 22:24:06.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/distutils/unixccompiler.py 2009-04-04 01:11:18.420500000 +0900 +@@ -139,7 +139,7 @@ + shared_lib_extension = ".so" + dylib_lib_extension = ".dylib" + static_lib_format = shared_lib_format = dylib_lib_format = "lib%s%s" +- if sys.platform == "cygwin": ++ if sys.platform == "cygwin" or sys.platform == "winmingw": + exe_extension = ".exe" + + def preprocess(self, source, +--- misc/Python-2.6.1/Lib/os.py 2008-09-02 14:36:11.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/os.py 2009-03-22 16:55:18.356375000 +0900 +@@ -38,7 +38,21 @@ + except AttributeError: + return [n for n in dir(module) if n[0] != '_'] + +-if 'posix' in _names: ++if 'winmingw32' in _names: ++ name = 'nt' ++ linesep = '\r\n' ++ from posix import * ++ try: ++ from posix import _exit ++ except ImportError: ++ pass ++ import ntpath as path ++ ++ import posix ++ __all__.extend(_get_exports_list(posix)) ++ del posix ++ ++elif 'posix' in _names: + name = 'posix' + linesep = '\n' + from posix import * +--- misc/Python-2.6.1/Lib/socket.py 2008-08-08 13:27:28.000000000 +0900 ++++ misc/build/Python-2.6.1/Lib/socket.py 2009-04-02 00:40:46.941750000 +0900 +@@ -148,7 +148,7 @@ + 'sendall', 'setblocking', + 'settimeout', 'gettimeout', 'shutdown') + +-if os.name == "nt": ++if os.name == "nt" and sys.platform[:8] != "winmingw": + _socketmethods = _socketmethods + ('ioctl',) + + if sys.platform == "riscos": +--- misc/Python-2.6.1/Makefile.pre.in 2008-10-22 01:48:37.000000000 +0900 ++++ misc/build/Python-2.6.1/Makefile.pre.in 2009-04-08 23:38:27.989250000 +0900 +@@ -105,6 +105,16 @@ + LDSHARED= @LDSHARED@ + BLDSHARED= @BLDSHARED@ + DESTSHARED= $(BINLIBDEST)/lib-dynload ++ifeq (@MACHDEP@,winmingw32) ++DESTSHAREDFORRULES= $(shell cd $(DESTSHARED) && pwd || echo DESTSHARED) ++LIBPYTHONPATH= $(shell cd $(DESTDIR)$(LIBDEST) && cmd /c cd | sed -e s:\\\\:/:g) ++DESTPYTHONPATH= $(LIBPYTHONPATH);$(shell cd $(DESTDIR)$(DESTSHARED) && cmd /c cd | sed -e s:\\\\:/:g) ++LIBDESTPARAM= $(shell if test -z "$(DESTDIR)" ; then cd $(LIBDEST) && cmd /c cd | sed -e s:\\\\:/:g ; else echo $(LIBDEST) ; fi) ++PREFIXPARAM= $(shell if test -z "$(DESTDIR)" ; then cd $(prefix) && cmd /c cd | sed -e s:\\\\:/:g ; else echo $(prefix) ; fi) ++BINDIRPARAM= $(shell if test -z "$(DESTDIR)" ; then cd $(BINDIR) && cmd /c cd | sed -e s:\\\\:/:g ; else echo $(BINDIR) ; fi) ++DESTSHAREDPARAM= $(shell if test -z "$(DESTDIR)" ; then cd $(DESTSHARED) && cmd /c cd | sed -e s:\\\\:/:g ; else echo $(DESTSHARED) ; fi) ++DESTDIRPARAM= $(shell if test ! -z "$(DESTDIR)" ; then cd $(DESTDIR) && cmd /c | sed -e s:\\\\:/:g ; fi) ++endif + + # Executable suffix (.exe on Windows and Mac OS X) + EXE= @EXEEXT@ +@@ -187,7 +197,7 @@ + # Modules + MODULE_OBJS= \ + Modules/config.o \ +- Modules/getpath.o \ ++ @GETPATH_OBJS@ \ + Modules/main.o \ + Modules/gcmodule.o + +@@ -507,6 +517,10 @@ + -DVPATH='"$(VPATH)"' \ + -o $@ $(srcdir)/Modules/getpath.c + ++PC/getpathp.o: $(srcdir)/PC/getpathp.c Makefile ++ $(CC) -c $(PY_CFLAGS) -DVERSION='"$(VERSION)"' \ ++ -o $@ $(srcdir)/PC/getpathp.c ++ + Modules/python.o: $(srcdir)/Modules/python.c + $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c + +@@ -544,6 +558,12 @@ + Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \ + $(srcdir)/Objects/unicodetype_db.h + ++Objects/exceptions.o: $(srcdir)/Objects/exceptions.c ++ $(CC) -c $(PY_CFLAGS) -I$(srcdir)/PC -o $@ $(srcdir)/Objects/exceptions.c ++ ++PC/import_nt.o: $(srcdir)/PC/import_nt.c ++ $(CC) -c $(PY_CFLAGS) -I$(srcdir)/Python -o $@ $(srcdir)/PC/import_nt.c ++ + STRINGLIB_HEADERS= \ + $(srcdir)/Include/bytes_methods.h \ + $(srcdir)/Objects/stringlib/count.h \ +@@ -727,7 +747,11 @@ + # Install shared libraries enabled by Setup + DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED) + ++ifeq (@MACHDEP@,winmingw32) ++oldsharedinstall: $(DESTSHAREDFORRULES) $(SHAREDMODS) ++else + oldsharedinstall: $(DESTSHARED) $(SHAREDMODS) ++endif + @for i in X $(SHAREDMODS); do \ + if test $$i != X; then \ + echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \ +@@ -735,7 +759,11 @@ + fi; \ + done + ++ifeq (@MACHDEP@,winmingw32) ++$(DESTSHAREDFORRULES): ++else + $(DESTSHARED): ++endif + @for i in $(DESTDIRS); \ + do \ + if test ! -d $(DESTDIR)$$i; then \ +@@ -822,7 +850,11 @@ + multiprocessing multiprocessing/dummy \ + lib-old \ + curses $(MACHDEPS) ++ifeq (@MACHDEP@,winmingw32) ++libinstall: build_all $(srcdir)/Lib/$(PLATDIR) sharedinstall ++else + libinstall: build_all $(srcdir)/Lib/$(PLATDIR) ++endif + @for i in $(SCRIPTDIR) $(LIBDEST); \ + do \ + if test ! -d $(DESTDIR)$$i; then \ +@@ -878,6 +910,26 @@ + done; \ + done + $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt ++ifeq (@MACHDEP@,winmingw32) ++ PYTHONPATH="$(DESTPYTHONPATH)" $(RUNSHARED) \ ++ ./$(BUILDPYTHON) -Wi -tt $(LIBPYTHONPATH)/compileall.py \ ++ -d $(LIBDESTPARAM) -f \ ++ -x 'bad_coding|badsyntax|site-packages' $(LIBPYTHONPATH) ++ PYTHONPATH="$(DESTPYTHONPATH)" $(RUNSHARED) \ ++ ./$(BUILDPYTHON) -Wi -tt -O $(LIBPYTHONPATH)/compileall.py \ ++ -d $(LIBDESTPARAM) -f \ ++ -x 'bad_coding|badsyntax|site-packages' $(LIBPYTHONPATH) ++ -PYTHONPATH="$(DESTPYTHONPATH)" $(RUNSHARED) \ ++ ./$(BUILDPYTHON) -Wi -t $(LIBPYTHONPATH)/compileall.py \ ++ -d $(LIBDESTPARAM)/site-packages -f \ ++ -x badsyntax $(LIBPYTHONPATH)/site-packages ++ -PYTHONPATH="$(DESTPYTHONPATH)" $(RUNSHARED) \ ++ ./$(BUILDPYTHON) -Wi -t -O $(LIBPYTHONPATH)/compileall.py \ ++ -d $(LIBDESTPARAM)/site-packages -f \ ++ -x badsyntax $(LIBPYTHONPATH)/site-packages ++ -PYTHONPATH="$(DESTPYTHONPATH)" $(RUNSHARED) \ ++ ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" ++else + PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + ./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + -d $(LIBDEST) -f \ +@@ -896,16 +948,19 @@ + -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages + -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ + ./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()" ++endif + + # Create the PLATDIR source directory, if one wasn't distributed.. + $(srcdir)/Lib/$(PLATDIR): + mkdir $(srcdir)/Lib/$(PLATDIR) ++ifneq (@MACHDEP@,winmingw32) + cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen + export PATH; PATH="`pwd`:$$PATH"; \ + export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \ + export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ + export EXE; EXE="$(BUILDEXE)"; \ + cd $(srcdir)/Lib/$(PLATDIR); ./regen ++endif + + # Install the include files + INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY) +@@ -992,12 +1047,21 @@ + + # Install the dynamically loadable modules + # This goes into $(exec_prefix) ++ifeq (@MACHDEP@,winmingw32) ++sharedinstall: $(DESTSHAREDFORRULES) ++ $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ ++ --prefix=$(PREFIXPARAM) \ ++ --install-scripts=$(BINDIRPARAM) \ ++ --install-platlib=$(DESTSHAREDPARAM) \ ++ --root=$(DESTDIRPARAM) ++else + sharedinstall: + $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ + --root=/$(DESTDIR) ++endif + + # Here are a couple of targets for MacOSX again, to install a full + # framework-based Python. frameworkinstall installs everything, the +--- misc/Python-2.6.1/Modules/Setup.config.in 2002-12-13 02:37:50.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/Setup.config.in 2009-03-21 18:46:57.988875000 +0900 +@@ -9,5 +9,9 @@ + # The signal module + @USE_SIGNAL_MODULE@signal signalmodule.c + ++# The password module ++@USE_PASSWORD_MODULE@pwd pwdmodule.c # this is needed to find out the user's home dir ++ # if $HOME is not set ++ + # The rest of the modules previously listed in this file are built + # by the setup.py script in Python 2.1 and later. +--- misc/Python-2.6.1/Modules/Setup.dist 2008-11-27 19:15:12.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/Setup.dist 2009-03-21 18:46:53.785750000 +0900 +@@ -114,7 +114,7 @@ + + posix posixmodule.c # posix (UNIX) system calls + errno errnomodule.c # posix (UNIX) errno values +-pwd pwdmodule.c # this is needed to find out the user's home dir ++#pwd pwdmodule.c # this is needed to find out the user's home dir + # if $HOME is not set + _sre _sre.c # Fredrik Lundh's new regular expressions + _codecs _codecsmodule.c # access to the builtin codecs and codec registry +--- misc/Python-2.6.1/Modules/_ctypes/libffi/configure 2008-05-24 00:06:50.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/_ctypes/libffi/configure 2009-04-05 08:30:43.964750000 +0900 +@@ -22707,19 +22707,41 @@ + multilib_arg= + fi + ++case $host_os in ++mingw*) ++ srcdir=`cd $srcdir && cmd /c cd | sed -e 's:\\\\:/:g'` ++ ;; ++esac ++ + ac_config_commands="$ac_config_commands include" + + ac_config_commands="$ac_config_commands src" + + ++case $host_os in ++mingw*) ++ac_config_commands="$ac_config_commands mingw_ffitarget.h" ++ ++;; ++*) + ac_config_links="$ac_config_links include/ffitarget.h:src/$TARGETDIR/ffitarget.h" + ++;; ++esac + + ac_config_files="$ac_config_files include/ffi.h" + + ++case $host_os in ++mingw*) ++ac_config_commands="$ac_config_commands mingw_ffi_common.h" ++ ++;; ++*) + ac_config_links="$ac_config_links include/ffi_common.h:include/ffi_common.h" + ++;; ++esac + + ac_config_files="$ac_config_files fficonfig.py" + +@@ -23506,8 +23528,10 @@ + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;; + "src") CONFIG_COMMANDS="$CONFIG_COMMANDS src" ;; ++ "mingw_ffitarget.h") CONFIG_COMMANDS="$CONFIG_COMMANDS mingw_ffitarget.h" ;; + "include/ffitarget.h") CONFIG_LINKS="$CONFIG_LINKS include/ffitarget.h:src/$TARGETDIR/ffitarget.h" ;; + "include/ffi.h") CONFIG_FILES="$CONFIG_FILES include/ffi.h" ;; ++ "mingw_ffi_common.h") CONFIG_COMMANDS="$CONFIG_COMMANDS mingw_ffi_common.h" ;; + "include/ffi_common.h") CONFIG_LINKS="$CONFIG_LINKS include/ffi_common.h:include/ffi_common.h" ;; + "fficonfig.py") CONFIG_FILES="$CONFIG_FILES fficonfig.py" ;; + +@@ -24386,6 +24410,16 @@ + test -d src || mkdir src + test -d src/$TARGETDIR || mkdir src/$TARGETDIR + ;; ++ "mingw_ffitarget.h":C) ++{ echo "$as_me:$LINENO: copying $srcdir/src/$TARGETDIR/ffitarget.h to include/ffitarget.h" >&5 ++echo "$as_me: copying $srcdir/src/$TARGETDIR/ffitarget.h to include/ffitarget.h" >&6;} ++cp -p $srcdir/src/$TARGETDIR/ffitarget.h include/ffitarget.h ++ ;; ++ "mingw_ffi_common.h":C) ++{ echo "$as_me:$LINENO: copying $srcdir/include/ffi_common.h to include/ffi_common.h" >&5 ++echo "$as_me: copying $srcdir/include/ffi_common.h to include/ffi_common.h" >&6;} ++cp -p $srcdir/include/ffi_common.h include/ffi_common.h ++ ;; + + esac + done # for ac_tag +--- misc/Python-2.6.1/Modules/_ctypes/libffi/configure.ac 2008-05-24 00:06:50.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/_ctypes/libffi/configure.ac 2009-04-05 08:30:27.527250000 +0900 +@@ -358,17 +358,43 @@ + multilib_arg= + fi + ++case $host_os in ++mingw*) ++ srcdir=`cd $srcdir && cmd /c cd | sed -e 's:\\\\:/:g'` ++ ;; ++esac ++ + AC_CONFIG_COMMANDS(include, [test -d include || mkdir include]) + AC_CONFIG_COMMANDS(src, [ + test -d src || mkdir src + test -d src/$TARGETDIR || mkdir src/$TARGETDIR + ], [TARGETDIR="$TARGETDIR"]) + ++case $host_os in ++mingw*) ++AC_CONFIG_COMMANDS(mingw_ffitarget.h, [ ++AC_MSG_NOTICE(copying $srcdir/src/$TARGETDIR/ffitarget.h to include/ffitarget.h) ++cp -p $srcdir/src/$TARGETDIR/ffitarget.h include/ffitarget.h ++]) ++;; ++*) + AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h) ++;; ++esac + + AC_CONFIG_FILES(include/ffi.h) + ++case $host_os in ++mingw*) ++AC_CONFIG_COMMANDS(mingw_ffi_common.h, [ ++AC_MSG_NOTICE(copying $srcdir/include/ffi_common.h to include/ffi_common.h) ++cp -p $srcdir/include/ffi_common.h include/ffi_common.h ++]) ++;; ++*) + AC_CONFIG_LINKS(include/ffi_common.h:include/ffi_common.h) ++;; ++esac + + AC_CONFIG_FILES(fficonfig.py) + +--- misc/Python-2.6.1/Modules/_ctypes/libffi/include/ffi.h.in 2008-04-05 01:01:54.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/_ctypes/libffi/include/ffi.h.in 2009-03-24 20:53:04.519875000 +0900 +@@ -350,7 +350,11 @@ + ffi_type *rtype, + ffi_type **atypes); + ++#ifdef MS_WIN32 ++int ffi_call(ffi_cif *cif, ++#else + void ffi_call(ffi_cif *cif, ++#endif + void (*fn)(void), + void *rvalue, + void **avalue); +--- misc/Python-2.6.1/Modules/config.c.in 2008-09-19 08:20:28.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/config.c.in 2009-03-22 16:28:09.418875000 +0900 +@@ -48,6 +48,9 @@ + {"__builtin__", NULL}, + {"sys", NULL}, + {"exceptions", NULL}, ++#ifdef __MINGW32__ ++ {"winmingw32", NULL}, ++#endif + + /* This lives in gcmodule.c */ + {"gc", initgc}, +--- misc/Python-2.6.1/Modules/posixmodule.c 2008-10-10 03:06:58.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/posixmodule.c 2009-03-22 20:04:01.404375000 +0900 +@@ -131,6 +131,15 @@ + #define HAVE_FSYNC 1 + #define fsync _commit + #else ++#ifdef __MINGW32__ ++#define HAVE_SPAWNV 1 ++#define HAVE_EXECV 1 ++#define HAVE_GETCWD 1 ++#define HAVE_OPENDIR 1 ++#define HAVE_PIPE 1 ++#define HAVE_POPEN 1 ++#define HAVE_SYSTEM 1 ++#else + #if defined(PYOS_OS2) && defined(PYCC_GCC) || defined(__VMS) + /* Everything needed is defined in PC/os2emx/pyconfig.h or vms/pyconfig.h */ + #else /* all other compilers */ +@@ -156,6 +165,7 @@ + #define HAVE_WAIT 1 + #define HAVE_TTYNAME 1 + #endif /* PYOS_OS2 && PYCC_GCC && __VMS */ ++#endif /* __MINGW32__ */ + #endif /* _MSC_VER */ + #endif /* __BORLANDC__ */ + #endif /* ! __WATCOMC__ || __QNX__ */ +@@ -275,6 +285,14 @@ + #define pclose _pclose + #endif /* _MSC_VER */ + ++#ifdef __MINGW32__ ++#include "osdefs.h" ++#include <windows.h> ++#include <shellapi.h> /* for ShellExecute() */ ++#define popen _popen ++#define pclose _pclose ++#endif ++ + #if defined(PYCC_VACPP) && defined(PYOS_OS2) + #include <io.h> + #endif /* OS2 */ +@@ -350,7 +368,7 @@ + */ + #include <crt_externs.h> + static char **environ; +-#elif !defined(_MSC_VER) && ( !defined(__WATCOMC__) || defined(__QNX__) ) ++#elif !defined(_MSC_VER) && !defined(__MINGW32__) && ( !defined(__WATCOMC__) || defined(__QNX__) ) + extern char **environ; + #endif /* !_MSC_VER */ + +@@ -775,7 +793,7 @@ + int st_ctime_nsec; + }; + +-static __int64 secs_between_epochs = 11644473600; /* Seconds between 1.1.1601 and 1.1.1970 */ ++static __int64 secs_between_epochs = 11644473600LL; /* Seconds between 1.1.1601 and 1.1.1970 */ + + static void + FILE_TIME_to_time_t_nsec(FILETIME *in_ptr, int *time_out, int* nsec_out) +@@ -8189,7 +8207,7 @@ + } + #endif + +-#ifdef MS_WINDOWS ++#if defined(MS_WINDOWS) && !defined(__MINGW32__) + + PyDoc_STRVAR(win32_urandom__doc__, + "urandom(n) -> str\n\n\ +@@ -8605,7 +8623,7 @@ + #ifdef HAVE_GETLOADAVG + {"getloadavg", posix_getloadavg, METH_NOARGS, posix_getloadavg__doc__}, + #endif +- #ifdef MS_WINDOWS ++ #if defined(MS_WINDOWS) && !defined(__MINGW32__) + {"urandom", win32_urandom, METH_VARARGS, win32_urandom__doc__}, + #endif + #ifdef __VMS +--- misc/Python-2.6.1/Modules/socketmodule.c 2008-08-12 23:49:50.000000000 +0900 ++++ misc/build/Python-2.6.1/Modules/socketmodule.c 2009-03-29 20:55:19.750375000 +0900 +@@ -312,7 +312,7 @@ + /* Do not include addrinfo.h for MSVC7 or greater. 'addrinfo' and + * EAI_* constants are defined in (the already included) ws2tcpip.h. + */ +-#else ++#elif !defined(__MINGW32__) + # include "addrinfo.h" + #endif + +--- misc/Python-2.6.1/PC/_winreg.c 2008-06-09 13:58:54.000000000 +0900 ++++ misc/build/Python-2.6.1/PC/_winreg.c 2009-04-12 18:25:01.944250000 +0900 +@@ -1630,6 +1630,9 @@ + } + + #define ADD_KEY(val) inskey(d, #val, val) ++#ifndef REG_LEGAL_CHANGE_FILTER ++#define REG_LEGAL_CHANGE_FILTER (REG_NOTIFY_CHANGE_NAME|REG_NOTIFY_CHANGE_ATTRIBUTES|REG_NOTIFY_CHANGE_LAST_SET|REG_NOTIFY_CHANGE_SECURITY) ++#endif + + PyMODINIT_FUNC init_winreg(void) + { +--- misc/Python-2.6.1/Python/dynload_win.c 2008-01-24 02:15:06.000000000 +0900 ++++ misc/build/Python-2.6.1/Python/dynload_win.c 2009-03-21 22:05:59.683125000 +0900 +@@ -24,6 +24,7 @@ + /* Case insensitive string compare, to avoid any dependencies on particular + C RTL implementations */ + ++#ifndef __MINGW32__ + static int strcasecmp (char *string1, char *string2) + { + int first, second; +@@ -37,6 +38,7 @@ + + return (first - second); + } ++#endif + + + /* Function to return the name of the "python" DLL that the supplied module +--- misc/Python-2.6.1/Python/frozenmain.c 2002-07-01 00:26:10.000000000 +0900 ++++ misc/build/Python-2.6.1/Python/frozenmain.c 2009-03-22 15:36:03.993875000 +0900 +@@ -3,7 +3,7 @@ + + #include "Python.h" + +-#ifdef MS_WINDOWS ++#if defined(MS_WINDOWS) && !defined(__MINGW32__) + extern void PyWinFreeze_ExeInit(void); + extern void PyWinFreeze_ExeTerm(void); + extern int PyInitFrozenExtensions(void); +@@ -32,12 +32,12 @@ + setbuf(stderr, (char *)NULL); + } + +-#ifdef MS_WINDOWS ++#if defined(MS_WINDOWS) && !defined(__MINGW32__) + PyInitFrozenExtensions(); + #endif /* MS_WINDOWS */ + Py_SetProgramName(argv[0]); + Py_Initialize(); +-#ifdef MS_WINDOWS ++#if defined(MS_WINDOWS) && !defined(__MINGW32__) + PyWinFreeze_ExeInit(); + #endif + +@@ -60,7 +60,7 @@ + if (inspect && isatty((int)fileno(stdin))) + sts = PyRun_AnyFile(stdin, "<stdin>") != 0; + +-#ifdef MS_WINDOWS ++#if defined(MS_WINDOWS) && !defined(__MINGW32__) + PyWinFreeze_ExeTerm(); + #endif + Py_Finalize(); +--- misc/Python-2.6.1/configure 2008-11-17 02:57:10.000000000 +0900 ++++ misc/build/Python-2.6.1/configure 2009-04-11 16:57:56.149375000 +0900 +@@ -719,8 +719,10 @@ + USE_THREAD_MODULE + LDLAST + THREADOBJ ++USE_PASSWORD_MODULE + DLINCLDIR + DYNLOADFILE ++GETPATH_OBJS + MACHDEP_OBJS + TRUE + LIBOBJS +@@ -2201,6 +2203,13 @@ + LDFLAGS="$SGI_ABI $LDFLAGS" + MACHDEP=`echo "${MACHDEP}${SGI_ABI}" | sed 's/ *//g'` + fi ++case $MACHDEP in ++ *mingw*|*MINGW*|*MinGW*) ++ MACHDEP="winmingw32" ++ ac_sys_system=`uname -s` ++ ac_sys_release=`uname -r` ++ ;; ++esac + { echo "$as_me:$LINENO: result: $MACHDEP" >&5 + echo "${ECHO_T}$MACHDEP" >&6; } + +@@ -3995,7 +4004,7 @@ + if test -z "$enable_shared" + then + case $ac_sys_system in +- CYGWIN* | atheos*) ++ CYGWIN* | MINGW* | atheos*) + enable_shared="yes";; + *) + enable_shared="no";; +@@ -4096,7 +4105,7 @@ + BeOS*) + LDLIBRARY='libpython$(VERSION).so' + ;; +- CYGWIN*) ++ CYGWIN* | MINGW*) + LDLIBRARY='libpython$(VERSION).dll.a' + DLLLIBRARY='libpython$(VERSION).dll' + ;; +@@ -4142,7 +4151,7 @@ + esac + else # shared is disabled + case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + BLDLIBRARY='$(LIBRARY)' + LDLIBRARY='libpython$(VERSION).dll.a' + ;; +@@ -12645,6 +12654,10 @@ + _ACEOF + + ++ac_cv_sizeof_off_t=`echo $ac_cv_sizeof_off_t | tr -d '\015'` ++ac_cv_sizeof_long=`echo $ac_cv_sizeof_long | tr -d '\015'` ++ac_cv_sizeof_long_long=`echo $ac_cv_sizeof_long_long | tr -d '\015'` ++ac_cv_sizeof_short=`echo $ac_cv_sizeof_short | tr -d '\015'` + { echo "$as_me:$LINENO: checking whether to enable large file support" >&5 + echo $ECHO_N "checking whether to enable large file support... $ECHO_C" >&6; } + if test "$have_long_long" = yes -a \ +@@ -12985,7 +12998,7 @@ + *) SO=.sl;; + esac + ;; +- CYGWIN*) SO=.dll;; ++ CYGWIN* | MINGW*) SO=.dll;; + *) SO=.so;; + esac + else +@@ -13113,7 +13126,7 @@ + fi;; + SCO_SV*) LDSHARED='$(CC) -Wl,-G,-Bexport';; + Monterey*) LDSHARED="cc -G -dy -Bdynamic -Bexport -L/usr/lib/ia64l64";; +- CYGWIN*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base";; ++ CYGWIN* | MINGW*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base ${LDFLAGS}";; + atheos*) LDSHARED="gcc -shared";; + *) LDSHARED="ld";; + esac +@@ -13205,7 +13218,7 @@ + LINKFORSHARED="-Xlinker --export-dynamic" + fi;; + esac;; +- CYGWIN*) ++ CYGWIN* | MINGW*) + if test $enable_shared = "no" + then + LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)' +@@ -13229,7 +13242,7 @@ + if test ! "$LIBRARY" = "$LDLIBRARY" + then + case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + # Cygwin needs CCSHARED when building extension DLLs + # but not when building the interpreter DLL. + CFLAGSFORSHARED='';; +@@ -15443,7 +15456,7 @@ + #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 + _ACEOF + case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + + cat >>confdefs.h <<\_ACEOF + #define HAVE_BROKEN_PTHREAD_SIGMASK 1 +@@ -15457,6 +15470,17 @@ + fi + + ++case $MACHDEP in ++winmingw*) ++ THREADOBJ="Python/thread.o" ++ USE_THREAD_MODULE="#" ++ USE_PASSWORD_MODULE="#" ++ ;; ++*) ++ USE_PASSWORD_MODULE="" ++ ;; ++esac ++ + # Check for enable-ipv6 + + +@@ -16057,6 +16081,11 @@ + # Use dynload_next.c only on 10.2 and below, which don't have native dlopen() + Darwin/[0156]\..*) DYNLOADFILE="dynload_next.o";; + atheos*) DYNLOADFILE="dynload_atheos.o";; ++ CYGWIN* | MINGW*) ++ case $MACHDEP in ++ winmingw*) DYNLOADFILE="dynload_win.o PC/import_nt.o PC/dl_nt.o";; ++ esac ++ ;; + *) + # use dynload_shlib.c and dlopen() if we have it; otherwise stub + # out any dynamic loading +@@ -16078,6 +16107,21 @@ + + fi + ++ ++{ echo "$as_me:$LINENO: checking GETPATH_OBJS" >&5 ++echo $ECHO_N "checking GETPATH_OBJS... $ECHO_C" >&6; } ++if test -z "$GETPATH_OBJS" ++then ++ case $MACHDEP in ++ winmingw*) ++ GETPATH_OBJS='PC/getpathp.o';; ++ *) ++ GETPATH_OBJS='Modules/getpath.o';; ++ esac ++fi ++{ echo "$as_me:$LINENO: result: $GETPATH_OBJS" >&5 ++echo "${ECHO_T}$GETPATH_OBJS" >&6; } ++ + # MACHDEP_OBJS can be set to platform-specific object files needed by Python + + +@@ -19952,6 +19996,112 @@ + + fi + ++case $MACHDEP in ++winmingw*) ++{ echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5 ++echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6; } ++if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static struct stat ac_aggr; ++if (ac_aggr.st_blocks) ++return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_member_struct_stat_st_blocks=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++$ac_includes_default ++int ++main () ++{ ++static struct stat ac_aggr; ++if (sizeof ac_aggr.st_blocks) ++return 0; ++ ; ++ return 0; ++} ++_ACEOF ++rm -f conftest.$ac_objext ++if { (ac_try="$ac_compile" ++case "(($ac_try" in ++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; ++ *) ac_try_echo=$ac_try;; ++esac ++eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 ++ (eval "$ac_compile") 2>conftest.er1 ++ ac_status=$? ++ grep -v '^ *+' conftest.er1 >conftest.err ++ rm -f conftest.er1 ++ cat conftest.err >&5 ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && { ++ test -z "$ac_c_werror_flag" || ++ test ! -s conftest.err ++ } && test -s conftest.$ac_objext; then ++ ac_cv_member_struct_stat_st_blocks=yes ++else ++ echo "$as_me: failed program was:" >&5 ++sed 's/^/| /' conftest.$ac_ext >&5 ++ ++ ac_cv_member_struct_stat_st_blocks=no ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++ ++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ++fi ++{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5 ++echo "${ECHO_T}$ac_cv_member_struct_stat_st_blocks" >&6; } ++if test $ac_cv_member_struct_stat_st_blocks = yes; then ++ ++cat >>confdefs.h <<_ACEOF ++#define HAVE_STRUCT_STAT_ST_BLOCKS 1 ++_ACEOF ++ ++ ++fi ++ ++;; ++*) + { echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5 + echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6; } + if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then +@@ -20066,6 +20216,8 @@ + fi + + ++;; ++esac + + { echo "$as_me:$LINENO: checking for time.h that defines altzone" >&5 + echo $ECHO_N "checking for time.h that defines altzone... $ECHO_C" >&6; } +@@ -22530,6 +22682,7 @@ + + + ++ac_cv_sizeof_wchar_t=`echo $ac_cv_sizeof_wchar_t | tr -d '\015'` + + if test "$enable_unicode" = "no" + then +@@ -25368,8 +25521,10 @@ + USE_THREAD_MODULE!$USE_THREAD_MODULE$ac_delim + LDLAST!$LDLAST$ac_delim + THREADOBJ!$THREADOBJ$ac_delim ++USE_PASSWORD_MODULE!$USE_PASSWORD_MODULE$ac_delim + DLINCLDIR!$DLINCLDIR$ac_delim + DYNLOADFILE!$DYNLOADFILE$ac_delim ++GETPATH_OBJS!$GETPATH_OBJS$ac_delim + MACHDEP_OBJS!$MACHDEP_OBJS$ac_delim + TRUE!$TRUE$ac_delim + LIBOBJS!$LIBOBJS$ac_delim +@@ -25386,7 +25541,7 @@ + LTLIBOBJS!$LTLIBOBJS$ac_delim + _ACEOF + +- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 22; then ++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 24; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +--- misc/Python-2.6.1/configure.in 2008-11-16 17:02:56.000000000 +0900 ++++ misc/build/Python-2.6.1/configure.in 2009-04-11 16:56:07.258750000 +0900 +@@ -359,6 +359,13 @@ + LDFLAGS="$SGI_ABI $LDFLAGS" + MACHDEP=`echo "${MACHDEP}${SGI_ABI}" | sed 's/ *//g'` + fi ++case $MACHDEP in ++ *mingw*|*MINGW*|*MinGW*) ++ MACHDEP="winmingw32" ++ ac_sys_system=`uname -s` ++ ac_sys_release=`uname -r` ++ ;; ++esac + AC_MSG_RESULT($MACHDEP) + + # And add extra plat-mac for darwin +@@ -643,7 +650,7 @@ + if test -z "$enable_shared" + then + case $ac_sys_system in +- CYGWIN* | atheos*) ++ CYGWIN* | MINGW* | atheos*) + enable_shared="yes";; + *) + enable_shared="no";; +@@ -694,7 +701,7 @@ + BeOS*) + LDLIBRARY='libpython$(VERSION).so' + ;; +- CYGWIN*) ++ CYGWIN* | MINGW*) + LDLIBRARY='libpython$(VERSION).dll.a' + DLLLIBRARY='libpython$(VERSION).dll' + ;; +@@ -740,7 +747,7 @@ + esac + else # shared is disabled + case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + BLDLIBRARY='$(LIBRARY)' + LDLIBRARY='libpython$(VERSION).dll.a' + ;; +@@ -1402,6 +1409,10 @@ + AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t, + [The number of bytes in an off_t.]) + ++ac_cv_sizeof_off_t=`echo $ac_cv_sizeof_off_t | tr -d '\015'` ++ac_cv_sizeof_long=`echo $ac_cv_sizeof_long | tr -d '\015'` ++ac_cv_sizeof_long_long=`echo $ac_cv_sizeof_long_long | tr -d '\015'` ++ac_cv_sizeof_short=`echo $ac_cv_sizeof_short | tr -d '\015'` + AC_MSG_CHECKING(whether to enable large file support) + if test "$have_long_long" = yes -a \ + "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ +@@ -1581,7 +1592,7 @@ + *) SO=.sl;; + esac + ;; +- CYGWIN*) SO=.dll;; ++ CYGWIN* | MINGW*) SO=.dll;; + *) SO=.so;; + esac + else +@@ -1703,7 +1714,7 @@ + fi;; + SCO_SV*) LDSHARED='$(CC) -Wl,-G,-Bexport';; + Monterey*) LDSHARED="cc -G -dy -Bdynamic -Bexport -L/usr/lib/ia64l64";; +- CYGWIN*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base";; ++ CYGWIN* | MINGW*) LDSHARED="gcc -shared -Wl,--enable-auto-image-base ${LDFLAGS}";; + atheos*) LDSHARED="gcc -shared";; + *) LDSHARED="ld";; + esac +@@ -1791,7 +1802,7 @@ + LINKFORSHARED="-Xlinker --export-dynamic" + fi;; + esac;; +- CYGWIN*) ++ CYGWIN* | MINGW*) + if test $enable_shared = "no" + then + LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)' +@@ -1813,7 +1824,7 @@ + if test ! "$LIBRARY" = "$LDLIBRARY" + then + case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + # Cygwin needs CCSHARED when building extension DLLs + # but not when building the interpreter DLL. + CFLAGSFORSHARED='';; +@@ -2149,13 +2160,24 @@ + fi + AC_CHECK_FUNCS(pthread_sigmask, + [case $ac_sys_system in +- CYGWIN*) ++ CYGWIN* | MINGW*) + AC_DEFINE(HAVE_BROKEN_PTHREAD_SIGMASK, 1, + [Define if pthread_sigmask() does not work on your system.]) + ;; + esac]) + fi + ++AC_SUBST(USE_PASSWORD_MODULE) ++case $MACHDEP in ++winmingw*) ++ THREADOBJ="Python/thread.o" ++ USE_THREAD_MODULE="#" ++ USE_PASSWORD_MODULE="#" ++ ;; ++*) ++ USE_PASSWORD_MODULE="" ++ ;; ++esac + + # Check for enable-ipv6 + AH_TEMPLATE(ENABLE_IPV6, [Define if --enable-ipv6 is specified]) +@@ -2415,6 +2437,11 @@ + # Use dynload_next.c only on 10.2 and below, which don't have native dlopen() + Darwin/@<:@0156@:>@\..*) DYNLOADFILE="dynload_next.o";; + atheos*) DYNLOADFILE="dynload_atheos.o";; ++ CYGWIN* | MINGW*) ++ case $MACHDEP in ++ winmingw*) DYNLOADFILE="dynload_win.o PC/import_nt.o PC/dl_nt.o";; ++ esac ++ ;; + *) + # use dynload_shlib.c and dlopen() if we have it; otherwise stub + # out any dynamic loading +@@ -2432,6 +2459,19 @@ + [Defined when any dynamic module loading is enabled.]) + fi + ++AC_SUBST(GETPATH_OBJS) ++AC_MSG_CHECKING(GETPATH_OBJS) ++if test -z "$GETPATH_OBJS" ++then ++ case $MACHDEP in ++ winmingw*) ++ GETPATH_OBJS='PC/getpathp.o';; ++ *) ++ GETPATH_OBJS='Modules/getpath.o';; ++ esac ++fi ++AC_MSG_RESULT($GETPATH_OBJS) ++ + # MACHDEP_OBJS can be set to platform-specific object files needed by Python + + AC_SUBST(MACHDEP_OBJS) +@@ -2862,7 +2902,14 @@ + AC_CHECK_MEMBERS([struct stat.st_flags]) + AC_CHECK_MEMBERS([struct stat.st_gen]) + AC_CHECK_MEMBERS([struct stat.st_birthtime]) ++case $MACHDEP in ++winmingw*) ++AC_CHECK_MEMBERS([struct stat.st_blocks]) ++;; ++*) + AC_STRUCT_ST_BLOCKS ++;; ++esac + + AC_MSG_CHECKING(for time.h that defines altzone) + AC_CACHE_VAL(ac_cv_header_time_altzone, +@@ -3247,6 +3294,7 @@ + AH_TEMPLATE(PY_UNICODE_TYPE, + [Define as the integral type used for Unicode representation.]) + ++ac_cv_sizeof_wchar_t=`echo $ac_cv_sizeof_wchar_t | tr -d '\015'` + AC_SUBST(UNICODE_OBJS) + if test "$enable_unicode" = "no" + then +--- misc/Python-2.6.1/setup.py 2008-11-05 05:43:31.000000000 +0900 ++++ misc/build/Python-2.6.1/setup.py 2009-04-12 16:02:22.654125000 +0900 +@@ -234,6 +234,18 @@ + if not self.configure_ctypes(ext): + return + ++ if self.get_platform() == "winmingw": ++ if ext.name == '_ctypes_test': ++ ext.libraries.append('oleaut32') ++ elif ext.name == 'select': ++ ext.libraries.append('ws2_32') ++ elif ext.name == '_socket': ++ ext.libraries.append('ws2_32') ++ if ext.name == '_ctypes': ++ ext.libraries.append('uuid') ++ ext.libraries.append('oleaut32') ++ ext.libraries.append('ole32') ++ + try: + build_ext.build_extension(self, ext) + except (CCompilerError, DistutilsError), why: +@@ -263,7 +275,7 @@ + + # Workaround for Cygwin: Cygwin currently has fork issues when many + # modules have been imported +- if self.get_platform() == 'cygwin': ++ if self.get_platform() in ['cygwin', 'winmingw']: + self.announce('WARNING: skipping import check for Cygwin-based "%s"' + % ext.name) + return +@@ -303,7 +315,7 @@ + + def get_platform(self): + # Get value of sys.platform +- for platform in ['cygwin', 'beos', 'darwin', 'atheos', 'osf1']: ++ for platform in ['cygwin', 'winmingw', 'beos', 'darwin', 'atheos', 'osf1']: + if sys.platform.startswith(platform): + return platform + return sys.platform +@@ -1009,7 +1021,7 @@ + missing.append('bsddb185') + + # The standard Unix dbm module: +- if platform not in ['cygwin']: ++ if platform not in ['cygwin', 'winmingw']: + if find_file("ndbm.h", inc_dirs, []) is not None: + # Some systems have -lndbm, others don't + if self.compiler.find_library_file(lib_dirs, 'ndbm'): +@@ -1053,7 +1065,7 @@ + missing.append('resource') + + # Sun yellow pages. Some systems have the functions in libc. +- if platform not in ['cygwin', 'atheos', 'qnx6']: ++ if platform not in ['cygwin', 'winmingw', 'atheos', 'qnx6']: + if (self.compiler.find_library_file(lib_dirs, 'nsl')): + libs = ['nsl'] + else: +@@ -1252,14 +1264,14 @@ + ) + libraries = [] + +- elif platform == 'cygwin': # Cygwin ++ elif platform in ['cygwin', 'winmingw']: # Cygwin + macros = dict( + HAVE_SEM_OPEN=1, + HAVE_SEM_TIMEDWAIT=1, + HAVE_FD_TRANSFER=0, + HAVE_BROKEN_SEM_UNLINK=1 + ) +- libraries = [] ++ libraries = ['ws2_32'] + + elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'): + # FreeBSD's P1003.1b semaphore support is very experimental +@@ -1287,7 +1299,7 @@ + ) + libraries = ['rt'] + +- if platform == 'win32': ++ if platform in ['win32', 'winmingw']: + multiprocessing_srcs = [ '_multiprocessing/multiprocessing.c', + '_multiprocessing/semaphore.c', + '_multiprocessing/pipe_connection.c', +@@ -1305,6 +1317,7 @@ + + exts.append ( Extension('_multiprocessing', multiprocessing_srcs, + define_macros=macros.items(), ++ libraries=libraries, + include_dirs=["Modules/_multiprocessing"])) + # End multiprocessing + +@@ -1423,6 +1436,10 @@ + '-framework', 'Carbon']) ) + + ++ if platform == 'winmingw': ++ exts.append( Extension('_winreg', ['../PC/_winreg.c']) ) ++ exts.append( Extension('winsound', ['../PC/winsound.c'], libraries = ['winmm']) ) ++ + self.extensions.extend(exts) + + # Call the method for detecting whether _tkinter can be compiled +@@ -1575,7 +1592,7 @@ + added_lib_dirs.append('/usr/X11/lib') + + # If Cygwin, then verify that X is installed before proceeding +- if platform == 'cygwin': ++ if platform in ['cygwin', 'winmingw']: + x11_inc = find_file('X11/Xlib.h', [], include_dirs) + if x11_inc is None: + return +@@ -1598,7 +1615,7 @@ + libs.append('ld') + + # Finally, link with the X11 libraries (not appropriate on cygwin) +- if platform != "cygwin": ++ if not platform in ["cygwin", "winmingw"]: + libs.append('X11') + + ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], +@@ -1669,6 +1686,8 @@ + from distutils.dir_util import mkpath + mkpath(ffi_builddir) + config_args = [] ++ if self.get_platform() == "winmingw": ++ config_args.append(" --build=mingw32") + + # Pass empty CFLAGS because we'll just append the resulting + # CFLAGS to Python's; -g or -O2 is to be avoided. diff --git a/python/Python-2.6.1-nohardlink.patch b/python/Python-2.6.1-nohardlink.patch new file mode 100644 index 000000000000..2592253e5835 --- /dev/null +++ b/python/Python-2.6.1-nohardlink.patch @@ -0,0 +1,20 @@ +--- misc/Python-2.6.1/Makefile.pre.in 2011-03-08 18:23:37.230410480 +0100 ++++ misc/build/Python-2.6.1/Makefile.pre.in 2011-03-08 18:22:57.935746999 +0100 +@@ -414,7 +414,7 @@ + SONAME="-Wl,-h$(INSTSONAME)"; \ + fi; \ + $(LDSHARED) $(LDFLAGS) $(SONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ +- $(LN) -f $(INSTSONAME) $@; \ ++ $(LN) -fs $(INSTSONAME) $@; \ + else\ + $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ + fi +@@ -767,7 +767,7 @@ + then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \ + else true; \ + fi +- (cd $(DESTDIR)$(BINDIR); $(LN) python$(VERSION)$(EXE) $(PYTHON)) ++ (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)$(EXE) $(PYTHON)) + -rm -f $(DESTDIR)$(BINDIR)/python-config + (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config) + diff --git a/python/Python-2.6.1-py2422.patch b/python/Python-2.6.1-py2422.patch new file mode 100644 index 000000000000..a76e26b26280 --- /dev/null +++ b/python/Python-2.6.1-py2422.patch @@ -0,0 +1,71 @@ +http://bugs.python.org/issue2422 - adaption of the patch there to honour our G_SLICE +--- misc/Python-2.6.1/Objects/obmalloc.c 2011-07-26 13:10:12.668380720 +0100 ++++ misc/build/Python-2.6.1/Objects/obmalloc.c 2011-07-26 13:17:41.951444953 +0100 +@@ -1,7 +1,18 @@ + #include "Python.h" ++#include <stdlib.h> + + #ifdef WITH_PYMALLOC + ++static int running_with_system_allocator = -1; ++ ++/* If we're using GCC, use __builtin_expect() to reduce overhead of ++ the allocator checks */ ++#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) ++# define UNLIKELY(value) __builtin_expect((value), 0) ++#else ++# define UNLIKELY(value) (value) ++#endif ++ + /* An object allocator for Python. + + Here is an introduction to the layers of the Python memory architecture, +@@ -728,6 +739,11 @@ + poolp next; + uint size; + ++ if (UNLIKELY(running_with_system_allocator == -1)) ++ running_with_system_allocator = (getenv("G_SLICE") != NULL); ++ if (UNLIKELY(running_with_system_allocator)) ++ goto redirect; ++ + /* + * Limit ourselves to PY_SSIZE_T_MAX bytes to prevent security holes. + * Most python internals blindly use a signed Py_ssize_t to track +@@ -927,6 +943,9 @@ + if (p == NULL) /* free(NULL) has no effect */ + return; + ++ if (UNLIKELY(running_with_system_allocator > 0)) ++ goto redirect; ++ + pool = POOL_ADDR(p); + if (Py_ADDRESS_IN_RANGE(p, pool)) { + /* We allocated this address. */ +@@ -1121,6 +1140,7 @@ + return; + } + ++redirect: + /* We didn't allocate this address. */ + free(p); + } +@@ -1150,6 +1170,10 @@ + if (nbytes > PY_SSIZE_T_MAX) + return NULL; + ++ /* Treat running_with_system_allocator == -1 the same as 0 */ ++ if (UNLIKELY(running_with_system_allocator > 0)) ++ goto redirect; ++ + pool = POOL_ADDR(p); + if (Py_ADDRESS_IN_RANGE(p, pool)) { + /* We're in charge of this block */ +@@ -1177,6 +1201,7 @@ + } + return bp; + } ++redirect: + /* We're not managing this block. If nbytes <= + * SMALL_REQUEST_THRESHOLD, it's tempting to try to take over this + * block. However, if we do, we need to copy the valid data from diff --git a/python/Python-2.6.1-py4768.patch b/python/Python-2.6.1-py4768.patch new file mode 100644 index 000000000000..7617f5dbec53 --- /dev/null +++ b/python/Python-2.6.1-py4768.patch @@ -0,0 +1,11 @@ +--- misc/Python-2.6.1/Lib/email/encoders.py ++++ misc/build/Python-2.6.1/Lib/email/encoders.py +@@ -42,7 +42,7 @@ + Also, add an appropriate Content-Transfer-Encoding header. + """ + orig = msg.get_payload() +- encdata = _bencode(orig) ++ encdata = str(_bencode(orig)).encode('ascii') + msg.set_payload(encdata) + msg['Content-Transfer-Encoding'] = 'base64' + diff --git a/python/Python-2.6.1-py8067.patch b/python/Python-2.6.1-py8067.patch new file mode 100644 index 000000000000..7a88a9348058 --- /dev/null +++ b/python/Python-2.6.1-py8067.patch @@ -0,0 +1,12 @@ +http://bugs.python.org/issue8067 - needed for building on Mac OSX >= 10.6 +--- misc/Python-2.6.1/configure 2010-05-06 20:59:52.000000000 +0200 ++++ misc/build/Python-2.6.1/configure 2010-05-06 20:59:46.000000000 +0200 +@@ -2120,6 +2120,8 @@ + # has no effect, don't bother defining them + Darwin/[6789].*) + define_xopen_source=no;; ++ Darwin/1[0-9].*) ++ define_xopen_source=no;; + # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but + # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined + # or has another value. By not (re)defining it, the defaults come in place. diff --git a/python/Python-2.6.1-sysbase.patch b/python/Python-2.6.1-sysbase.patch new file mode 100644 index 000000000000..fb81056c1595 --- /dev/null +++ b/python/Python-2.6.1-sysbase.patch @@ -0,0 +1,13 @@ +--- misc/Python-2.6.1/configure Thu Mar 17 13:00:41 2011 ++++ misc/build/Python-2.6.1/configure Thu Mar 17 12:58:50 2011 +@@ -2042,7 +2042,9 @@ + if test -z "$MACHDEP" + then + ac_sys_system=`uname -s` +- if test "$ac_sys_system" = "AIX" -o "$ac_sys_system" = "Monterey64" \ ++ if test -n "$OOO_SYSBASE_SYS_RELEASE"; then ++ ac_sys_release=$OOO_SYSBASE_SYS_RELEASE ++ elif test "$ac_sys_system" = "AIX" -o "$ac_sys_system" = "Monterey64" \ + -o "$ac_sys_system" = "UnixWare" -o "$ac_sys_system" = "OpenUNIX"; then + ac_sys_release=`uname -v` + else diff --git a/python/Python-2.6.1-urllib.patch b/python/Python-2.6.1-urllib.patch new file mode 100644 index 000000000000..6e20390860a4 --- /dev/null +++ b/python/Python-2.6.1-urllib.patch @@ -0,0 +1,93 @@ +--- misc/Python-2.6.1/Lib/urllib.py 2008-09-21 23:27:51.000000000 +0200 ++++ misc/build/Python-2.6.1/Lib/urllib.py 2010-11-23 15:41:08.000000000 +0100 +@@ -176,6 +176,9 @@ class URLopener: + def open(self, fullurl, data=None): + """Use URLopener().open(file) instead of open(file, 'r').""" + fullurl = unwrap(toBytes(fullurl)) ++ # percent encode url. fixing lame server errors like space within url ++ # parts ++ fullurl = quote(fullurl, safe="%/:=&?~#+!$,;'@()*[]|") + if self.tempcache and fullurl in self.tempcache: + filename, headers = self.tempcache[fullurl] + fp = open(filename, 'rb') +@@ -233,41 +236,45 @@ class URLopener: + except IOError, msg: + pass + fp = self.open(url, data) +- headers = fp.info() +- if filename: +- tfp = open(filename, 'wb') +- else: +- import tempfile +- garbage, path = splittype(url) +- garbage, path = splithost(path or "") +- path, garbage = splitquery(path or "") +- path, garbage = splitattr(path or "") +- suffix = os.path.splitext(path)[1] +- (fd, filename) = tempfile.mkstemp(suffix) +- self.__tempfiles.append(filename) +- tfp = os.fdopen(fd, 'wb') +- result = filename, headers +- if self.tempcache is not None: +- self.tempcache[url] = result +- bs = 1024*8 +- size = -1 +- read = 0 +- blocknum = 0 +- if reporthook: +- if "content-length" in headers: +- size = int(headers["Content-Length"]) +- reporthook(blocknum, bs, size) +- while 1: +- block = fp.read(bs) +- if block == "": +- break +- read += len(block) +- tfp.write(block) +- blocknum += 1 +- if reporthook: +- reporthook(blocknum, bs, size) +- fp.close() +- tfp.close() ++ try: ++ headers = fp.info() ++ if filename: ++ tfp = open(filename, 'wb') ++ else: ++ import tempfile ++ garbage, path = splittype(url) ++ garbage, path = splithost(path or "") ++ path, garbage = splitquery(path or "") ++ path, garbage = splitattr(path or "") ++ suffix = os.path.splitext(path)[1] ++ (fd, filename) = tempfile.mkstemp(suffix) ++ self.__tempfiles.append(filename) ++ tfp = os.fdopen(fd, 'wb') ++ try: ++ result = filename, headers ++ if self.tempcache is not None: ++ self.tempcache[url] = result ++ bs = 1024*8 ++ size = -1 ++ read = 0 ++ blocknum = 0 ++ if reporthook: ++ if "content-length" in headers: ++ size = int(headers["Content-Length"]) ++ reporthook(blocknum, bs, size) ++ while 1: ++ block = fp.read(bs) ++ if block == "": ++ break ++ read += len(block) ++ tfp.write(block) ++ blocknum += 1 ++ if reporthook: ++ reporthook(blocknum, bs, size) ++ finally: ++ tfp.close() ++ finally: ++ fp.close() + del fp + del tfp + diff --git a/python/Python-2.6.1-vc10.patch b/python/Python-2.6.1-vc10.patch new file mode 100755 index 000000000000..0f4a0d021c6c --- /dev/null +++ b/python/Python-2.6.1-vc10.patch @@ -0,0 +1,6367 @@ +--- misc/build/Python-2.6.1/PCbuild/make_buildinfo.c.orig 2007-12-06 22:13:06.000000000 +0100
++++ misc/build/Python-2.6.1/PCbuild/make_buildinfo.c 2010-10-28 23:51:41.312500000 +0200
+@@ -82,8 +82,8 @@
+ if ((do_unlink = make_buildinfo2()))
+ strcat_s(command, CMD_SIZE, "getbuildinfo2.c -DSUBWCREV ");
+ else
+- strcat_s(command, CMD_SIZE, "..\\Modules\\getbuildinfo.c");
+- strcat_s(command, CMD_SIZE, " -Fogetbuildinfo.o -I..\\Include -I..\\PC");
++ strcat_s(command, CMD_SIZE, "..\\..\\Modules\\getbuildinfo.c");
++ strcat_s(command, CMD_SIZE, " -Fogetbuildinfo.o -I..\\..\\Include -I..\\..\\PC");
+ puts(command); fflush(stdout);
+ result = system(command);
+ if (do_unlink)
+--- misc/build/Python-2.6.1/PC/msvcrtmodule.c.old 2010-09-24 22:03:40.593750000 +0200
++++ misc/build/Python-2.6.1/PC/msvcrtmodule.c 2010-09-24 22:04:39.625000000 +0200
+@@ -23,7 +23,7 @@
+ #include <sys/locking.h>
+
+ #ifdef _MSC_VER
+-#if _MSC_VER >= 1500
++#if _MSC_VER == 1500
+ #include <crtassem.h>
+ #endif
+ #endif
+--- /dev/null 2010-10-29 00:42:37.000000000 +0200
++++ misc/build/Python-2.6.1/PC/VS10.0/build_ssl.py 2010-10-29 00:41:17.250000000 +0200
+@@ -0,0 +1,258 @@
++# Script for building the _ssl and _hashlib modules for Windows.
++# Uses Perl to setup the OpenSSL environment correctly
++# and build OpenSSL, then invokes a simple nmake session
++# for the actual _ssl.pyd and _hashlib.pyd DLLs.
++
++# THEORETICALLY, you can:
++# * Unpack the latest SSL release one level above your main Python source
++# directory. It is likely you will already find the zlib library and
++# any other external packages there.
++# * Install ActivePerl and ensure it is somewhere on your path.
++# * Run this script from the PCBuild directory.
++#
++# it should configure and build SSL, then build the _ssl and _hashlib
++# Python extensions without intervention.
++
++# Modified by Christian Heimes
++# Now this script supports pre-generated makefiles and assembly files.
++# Developers don't need an installation of Perl anymore to build Python. A svn
++# checkout from our svn repository is enough.
++#
++# In Order to create the files in the case of an update you still need Perl.
++# Run build_ssl in this order:
++# python.exe build_ssl.py Release x64
++# python.exe build_ssl.py Release Win32
++
++import os, sys, re, shutil
++
++# Find all "foo.exe" files on the PATH.
++def find_all_on_path(filename, extras = None):
++ entries = os.environ["PATH"].split(os.pathsep)
++ ret = []
++ for p in entries:
++ fname = os.path.abspath(os.path.join(p, filename))
++ if os.path.isfile(fname) and fname not in ret:
++ ret.append(fname)
++ if extras:
++ for p in extras:
++ fname = os.path.abspath(os.path.join(p, filename))
++ if os.path.isfile(fname) and fname not in ret:
++ ret.append(fname)
++ return ret
++
++# Find a suitable Perl installation for OpenSSL.
++# cygwin perl does *not* work. ActivePerl does.
++# Being a Perl dummy, the simplest way I can check is if the "Win32" package
++# is available.
++def find_working_perl(perls):
++ for perl in perls:
++ fh = os.popen(perl + ' -e "use Win32;"')
++ fh.read()
++ rc = fh.close()
++ if rc:
++ continue
++ return perl
++ print("Can not find a suitable PERL:")
++ if perls:
++ print(" the following perl interpreters were found:")
++ for p in perls:
++ print(" ", p)
++ print(" None of these versions appear suitable for building OpenSSL")
++ else:
++ print(" NO perl interpreters were found on this machine at all!")
++ print(" Please install ActivePerl and ensure it appears on your path")
++ return None
++
++# Locate the best SSL directory given a few roots to look into.
++def find_best_ssl_dir(sources):
++ candidates = []
++ for s in sources:
++ try:
++ # note: do not abspath s; the build will fail if any
++ # higher up directory name has spaces in it.
++ fnames = os.listdir(s)
++ except os.error:
++ fnames = []
++ for fname in fnames:
++ fqn = os.path.join(s, fname)
++ if os.path.isdir(fqn) and fname.startswith("openssl-"):
++ candidates.append(fqn)
++ # Now we have all the candidates, locate the best.
++ best_parts = []
++ best_name = None
++ for c in candidates:
++ parts = re.split("[.-]", os.path.basename(c))[1:]
++ # eg - openssl-0.9.7-beta1 - ignore all "beta" or any other qualifiers
++ if len(parts) >= 4:
++ continue
++ if parts > best_parts:
++ best_parts = parts
++ best_name = c
++ if best_name is not None:
++ print("Found an SSL directory at '%s'" % (best_name,))
++ else:
++ print("Could not find an SSL directory in '%s'" % (sources,))
++ sys.stdout.flush()
++ return best_name
++
++def create_makefile64(makefile, m32):
++ """Create and fix makefile for 64bit
++
++ Replace 32 with 64bit directories
++ """
++ if not os.path.isfile(m32):
++ return
++ # 2.4 compatibility
++ fin = open(m32)
++ if 1: # with open(m32) as fin:
++ fout = open(makefile, 'w')
++ if 1: # with open(makefile, 'w') as fout:
++ for line in fin:
++ line = line.replace("=tmp32", "=tmp64")
++ line = line.replace("=out32", "=out64")
++ line = line.replace("=inc32", "=inc64")
++ # force 64 bit machine
++ line = line.replace("MKLIB=lib", "MKLIB=lib /MACHINE:X64")
++ line = line.replace("LFLAGS=", "LFLAGS=/MACHINE:X64 ")
++ # don't link against the lib on 64bit systems
++ line = line.replace("bufferoverflowu.lib", "")
++ fout.write(line)
++ os.unlink(m32)
++
++def fix_makefile(makefile):
++ """Fix some stuff in all makefiles
++ """
++ if not os.path.isfile(makefile):
++ return
++ # 2.4 compatibility
++ fin = open(makefile)
++ if 1: # with open(makefile) as fin:
++ lines = fin.readlines()
++ fin.close()
++ fout = open(makefile, 'w')
++ if 1: # with open(makefile, 'w') as fout:
++ for line in lines:
++ if line.startswith("PERL="):
++ continue
++ if line.startswith("CP="):
++ line = "CP=copy\n"
++ if line.startswith("MKDIR="):
++ line = "MKDIR=mkdir\n"
++ if line.startswith("CFLAG="):
++ line = line.strip()
++ for algo in ("RC5", "MDC2", "IDEA"):
++ noalgo = " -DOPENSSL_NO_%s" % algo
++ if noalgo not in line:
++ line = line + noalgo
++ line = line + '\n'
++ fout.write(line)
++ fout.close()
++
++def run_configure(configure, do_script):
++ print("perl Configure "+configure)
++ os.system("perl Configure "+configure)
++ print(do_script)
++ os.system(do_script)
++
++def main():
++ build_all = "-a" in sys.argv
++ if sys.argv[1] == "Release":
++ debug = False
++ elif sys.argv[1] == "Debug":
++ debug = True
++ else:
++ raise ValueError(str(sys.argv))
++
++ if sys.argv[2] == "Win32":
++ arch = "x86"
++ configure = "VC-WIN32"
++ do_script = "ms\\do_nasm"
++ makefile="ms\\nt.mak"
++ m32 = makefile
++ elif sys.argv[2] == "x64":
++ arch="amd64"
++ configure = "VC-WIN64A"
++ do_script = "ms\\do_win64a"
++ makefile = "ms\\nt64.mak"
++ m32 = makefile.replace('64', '')
++ #os.environ["VSEXTCOMP_USECL"] = "MS_OPTERON"
++ else:
++ raise ValueError(str(sys.argv))
++
++ make_flags = ""
++ if build_all:
++ make_flags = "-a"
++ # perl should be on the path, but we also look in "\perl" and "c:\\perl"
++ # as "well known" locations
++ perls = find_all_on_path("perl.exe", ["\\perl\\bin", "C:\\perl\\bin"])
++ perl = find_working_perl(perls)
++ if perl is None:
++ print("No Perl installation was found. Existing Makefiles are used.")
++
++ print("Found a working perl at '%s'" % (perl,))
++ sys.stdout.flush()
++ # Look for SSL 2 levels up from pcbuild - ie, same place zlib etc all live.
++ ssl_dir = find_best_ssl_dir(("..\\..",))
++ if ssl_dir is None:
++ sys.exit(1)
++
++ old_cd = os.getcwd()
++ try:
++ os.chdir(ssl_dir)
++ # rebuild makefile when we do the role over from 32 to 64 build
++ if arch == "amd64" and os.path.isfile(m32) and not os.path.isfile(makefile):
++ os.unlink(m32)
++
++ # If the ssl makefiles do not exist, we invoke Perl to generate them.
++ # Due to a bug in this script, the makefile sometimes ended up empty
++ # Force a regeneration if it is.
++ if not os.path.isfile(makefile) or os.path.getsize(makefile)==0:
++ if perl is None:
++ print("Perl is required to build the makefiles!")
++ sys.exit(1)
++
++ print("Creating the makefiles...")
++ sys.stdout.flush()
++ # Put our working Perl at the front of our path
++ os.environ["PATH"] = os.path.dirname(perl) + \
++ os.pathsep + \
++ os.environ["PATH"]
++ run_configure(configure, do_script)
++ if debug:
++ print("OpenSSL debug builds aren't supported.")
++ #if arch=="x86" and debug:
++ # # the do_masm script in openssl doesn't generate a debug
++ # # build makefile so we generate it here:
++ # os.system("perl util\mk1mf.pl debug "+configure+" >"+makefile)
++
++ if arch == "amd64":
++ create_makefile64(makefile, m32)
++ fix_makefile(makefile)
++ shutil.copy(r"crypto\buildinf.h", r"crypto\buildinf_%s.h" % arch)
++ shutil.copy(r"crypto\opensslconf.h", r"crypto\opensslconf_%s.h" % arch)
++
++ # Now run make.
++ if arch == "amd64":
++ rc = os.system(r"ml64 -c -Foms\uptable.obj ms\uptable.asm")
++ if rc:
++ print("ml64 assembler has failed.")
++ sys.exit(rc)
++
++ shutil.copy(r"crypto\buildinf_%s.h" % arch, r"crypto\buildinf.h")
++ shutil.copy(r"crypto\opensslconf_%s.h" % arch, r"crypto\opensslconf.h")
++
++ #makeCommand = "nmake /nologo PERL=\"%s\" -f \"%s\"" %(perl, makefile)
++ makeCommand = "nmake /nologo -f \"%s\"" % makefile
++ print("Executing ssl makefiles:", makeCommand)
++ sys.stdout.flush()
++ rc = os.system(makeCommand)
++ if rc:
++ print("Executing "+makefile+" failed")
++ print(rc)
++ sys.exit(rc)
++ finally:
++ os.chdir(old_cd)
++ sys.exit(rc)
++
++if __name__=='__main__':
++ sys.exit(0)
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_ctypes.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_ctypes.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_ctypes.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_ctypes.vcxproj 2010-10-04 12:52:04.859375000 +0200
+@@ -0,0 +1,289 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{0E9791DB-593A-465F-98BC-681011311618}</ProjectGuid>
++ <RootNamespace>_ctypes</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <Link>
++ <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
++ <SubSystem>NotSet</SubSystem>
++ <BaseAddress>0x1D1A0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\_ctypes\ctypes.h" />
++ <ClInclude Include="..\..\Modules\_ctypes\ctypes_dlfcn.h" />
++ <ClInclude Include="..\..\Modules\_ctypes\libffi_msvc\ffi.h" />
++ <ClInclude Include="..\..\Modules\_ctypes\libffi_msvc\ffi_common.h" />
++ <ClInclude Include="..\..\Modules\_ctypes\libffi_msvc\fficonfig.h" />
++ <ClInclude Include="..\..\Modules\_ctypes\libffi_msvc\ffitarget.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_ctypes\_ctypes.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\callbacks.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\callproc.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\cfield.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\libffi_msvc\ffi.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\malloc_closure.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\libffi_msvc\prep_cif.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\stgdict.c" />
++ <ClCompile Include="..\..\Modules\_ctypes\libffi_msvc\win32.c">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">true</ExcludedFromBuild>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
++ </ClCompile>
++ </ItemGroup>
++ <ItemGroup>
++ <CustomBuild Include="..\..\Modules\_ctypes\libffi_msvc\win64.asm">
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ml64 /nologo /c /Zi /Fo "$(IntDir)win64.obj" "%(FullPath)"
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)win64.obj;%(Outputs)</Outputs>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">true</ExcludedFromBuild>
++ <Command Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">ml64 /nologo /c /Fo "$(IntDir)win64.obj" "%(FullPath)"
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">$(IntDir)win64.obj;%(Outputs)</Outputs>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">true</ExcludedFromBuild>
++ <Command Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">ml64 /nologo /c /Fo "$(IntDir)win64.obj" "%(FullPath)"
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">$(IntDir)win64.obj;%(Outputs)</Outputs>
++ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
++ <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ml64 /nologo /c /Fo "$(IntDir)win64.obj" "%(FullPath)"
++</Command>
++ <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)win64.obj;%(Outputs)</Outputs>
++ </CustomBuild>
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_ctypes_test.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_ctypes_test.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_ctypes_test.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_ctypes_test.vcxproj 2010-10-04 12:52:04.875000000 +0200
+@@ -0,0 +1,187 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{9EC7190A-249F-4180-A900-548FDCF3055F}</ProjectGuid>
++ <RootNamespace>_ctypes_test</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\_ctypes\_ctypes_test.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_ctypes\_ctypes_test.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_elementtree.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_elementtree.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_elementtree.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_elementtree.vcxproj 2010-10-04 12:52:04.875000000 +0200
+@@ -0,0 +1,264 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{17E1E049-C309-4D79-843F-AE483C264AEA}</ProjectGuid>
++ <RootNamespace>_elementtree</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <BaseAddress>0x1D100000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\expat\ascii.h" />
++ <ClInclude Include="..\..\Modules\expat\asciitab.h" />
++ <ClInclude Include="..\..\Modules\expat\expat.h" />
++ <ClInclude Include="..\..\Modules\expat\expat_config.h" />
++ <ClInclude Include="..\..\Modules\expat\expat_external.h" />
++ <ClInclude Include="..\..\Modules\expat\iasciitab.h" />
++ <ClInclude Include="..\..\Modules\expat\internal.h" />
++ <ClInclude Include="..\..\Modules\expat\latin1tab.h" />
++ <ClInclude Include="..\..\Modules\expat\macconfig.h" />
++ <ClInclude Include="..\..\Modules\expat\nametab.h" />
++ <ClInclude Include="..\..\Modules\expat\pyexpatns.h" />
++ <ClInclude Include="..\..\Modules\expat\utf8tab.h" />
++ <ClInclude Include="..\..\Modules\expat\winconfig.h" />
++ <ClInclude Include="..\..\Modules\expat\xmlrole.h" />
++ <ClInclude Include="..\..\Modules\expat\xmltok.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_elementtree.c" />
++ <ClCompile Include="..\..\Modules\expat\xmlparse.c" />
++ <ClCompile Include="..\..\Modules\expat\xmlrole.c" />
++ <ClCompile Include="..\..\Modules\expat\xmltok.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_msi.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_msi.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_msi.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_msi.vcxproj 2010-10-04 12:52:04.890625000 +0200
+@@ -0,0 +1,220 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{31FFC478-7B4A-43E8-9954-8D03E2187E9C}</ProjectGuid>
++ <RootNamespace>_msi</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>fci.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1D160000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\_msi.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_multiprocessing.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_multiprocessing.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_multiprocessing.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_multiprocessing.vcxproj 2010-10-04 12:52:04.906250000 +0200
+@@ -0,0 +1,228 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{9e48b300-37d1-11dd-8c41-005056c00008}</ProjectGuid>
++ <RootNamespace>_multiprocessing</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\_multiprocessing\multiprocessing.h" />
++ <ClInclude Include="..\..\Modules\_multiprocessing\connection.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_multiprocessing\multiprocessing.c" />
++ <ClCompile Include="..\..\Modules\_multiprocessing\pipe_connection.c" />
++ <ClCompile Include="..\..\Modules\_multiprocessing\semaphore.c" />
++ <ClCompile Include="..\..\Modules\_multiprocessing\socket_connection.c" />
++ <ClCompile Include="..\..\Modules\_multiprocessing\win32_functions.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_socket.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_socket.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_socket.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_socket.vcxproj 2010-10-04 12:52:04.906250000 +0200
+@@ -0,0 +1,223 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{86937F53-C189-40EF-8CE8-8759D8E7D480}</ProjectGuid>
++ <RootNamespace>_socket</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <BaseAddress>0x1e1D0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\socketmodule.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\socketmodule.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_ssl.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_ssl.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_ssl.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_ssl.vcxproj 2010-10-04 12:52:04.968750000 +0200
+@@ -0,0 +1,308 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{C6E20F84-3247-4AD6-B051-B073268F73BA}</ProjectGuid>
++ <RootNamespace>_ssl</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <PreBuildEvent>
++ <Command>cd "$(SolutionDir)"
++"$(PythonExe)" build_ssl.py Release $(Platform) -a
++</Command>
++ </PreBuildEvent>
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(SOLARVERSION)\$(INPATH)\inc$(UPDMINOREXT)\external;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ClCompile>
++ <PreLinkEvent>
++ <Command>
++ </Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>ws2_32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\libeay32.lib;$(SOLARVER)\$(INPATH)\lib$(UPDMINOREXT)\ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_ssl.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//_testcapi.vcxproj misc/build/Python-2.6.1/PC/VS10.0/_testcapi.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//_testcapi.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/_testcapi.vcxproj 2010-10-04 12:52:04.968750000 +0200
+@@ -0,0 +1,212 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}</ProjectGuid>
++ <RootNamespace>_testcapi</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1e1F0000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_testcapimodule.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//bdist_wininst.vcxproj misc/build/Python-2.6.1/PC/VS10.0/bdist_wininst.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//bdist_wininst.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/bdist_wininst.vcxproj 2010-10-04 12:52:04.984375000 +0200
+@@ -0,0 +1,156 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}</ProjectGuid>
++ <RootNamespace>wininst</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\lib\distutils\command\</OutDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
++ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
++ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
++ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>Win32</TargetEnvironment>
++ <TypeLibraryName>.\..\lib\distutils\command\wininst.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MinSpace</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..;..\..\PC\bdist_wininst;..\..\Include;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0000</Culture>
++ <AdditionalIncludeDirectories>..;..\..\PC;..\..\PC\bdist_wininst;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <Link>
++ <AdditionalDependencies>comctl32.lib;imagehlp.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>..\lib\distutils\command\wininst-9.0.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>..\lib\distutils\command\wininst-9.0.pdb</ProgramDatabaseFile>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <MkTypLibCompatible>true</MkTypLibCompatible>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <TargetEnvironment>X64</TargetEnvironment>
++ <TypeLibraryName>.\..\lib\distutils\command\wininst.tlb</TypeLibraryName>
++ <HeaderFileName>
++ </HeaderFileName>
++ </Midl>
++ <ClCompile>
++ <Optimization>MinSpace</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <AdditionalIncludeDirectories>..;..\..\PC\bdist_wininst;..\..\Include;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <WarningLevel>Level3</WarningLevel>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0000</Culture>
++ <AdditionalIncludeDirectories>..;..\..\PC;..\..\PC\bdist_wininst;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <Link>
++ <AdditionalDependencies>comctl32.lib;imagehlp.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>..\lib\distutils\command\wininst-9.0-amd64.exe</OutputFile>
++ <SuppressStartupBanner>true</SuppressStartupBanner>
++ <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>..\lib\distutils\command\wininst-9.0-amd64.pdb</ProgramDatabaseFile>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\bdist_wininst\extract.c" />
++ <ClCompile Include="..\..\PC\bdist_wininst\install.c" />
++ <ClCompile Include="..\..\Modules\zlib\adler32.c" />
++ <ClCompile Include="..\..\Modules\zlib\crc32.c" />
++ <ClCompile Include="..\..\Modules\zlib\inffast.c" />
++ <ClCompile Include="..\..\Modules\zlib\inflate.c" />
++ <ClCompile Include="..\..\Modules\zlib\inftrees.c" />
++ <ClCompile Include="..\..\Modules\zlib\zutil.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\PC\bdist_wininst\archive.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\..\PC\bdist_wininst\install.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <None Include="..\..\PC\bdist_wininst\PythonPowered.bmp" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//debug.props misc/build/Python-2.6.1/PC/VS10.0/debug.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//debug.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/debug.props 2010-10-04 12:52:05.187500000 +0200
+@@ -0,0 +1,19 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup Label="UserMacros">
++ <KillPythonExe>$(OutDir)kill_python_d.exe</KillPythonExe>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="KillPythonExe">
++ <Value>$(KillPythonExe)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//kill_python.vcxproj misc/build/Python-2.6.1/PC/VS10.0/kill_python.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//kill_python.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/kill_python.vcxproj 2010-10-04 12:52:05.031250000 +0200
+@@ -0,0 +1,120 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}</ProjectGuid>
++ <RootNamespace>kill_python</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName)_d.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName)_d.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PCbuild\kill_python.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//make_buildinfo.vcxproj misc/build/Python-2.6.1/PC/VS10.0/make_buildinfo.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//make_buildinfo.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/make_buildinfo.vcxproj 2010-10-04 12:52:05.031250000 +0200
+@@ -0,0 +1,74 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{C73F0EC1-358B-4177-940F-0846AC8B04CD}</ProjectGuid>
++ <RootNamespace>make_buildinfo</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)make_buildinfo.exe</OutputFile>
++ <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <ClCompile>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PCbuild\make_buildinfo.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//make_versioninfo.vcxproj misc/build/Python-2.6.1/PC/VS10.0/make_versioninfo.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//make_versioninfo.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/make_versioninfo.vcxproj 2010-10-04 12:52:05.046875000 +0200
+@@ -0,0 +1,201 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{F0E0541E-F17D-430B-97C4-93ADF0DD284E}</ProjectGuid>
++ <RootNamespace>make_versioninfo</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <CustomBuildStep>
++ <Message>Build PC/pythonnt_rc(_d).h</Message>
++ <Command>cd $(SolutionDir)
++make_versioninfo.exe > ..\..\PC\pythonnt_rc.h
++</Command>
++ <Outputs>$(SolutionDir)..\..\PC\pythonnt_rc.h;%(Outputs)</Outputs>
++ </CustomBuildStep>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(SolutionDir)make_versioninfo.exe</OutputFile>
++ <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ <PostBuildEvent>
++ <Command>cd $(SolutionDir)
++make_versioninfo.exe > ..\..\PC\python_nt.h
++</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <CustomBuildStep>
++ <Message>Build PC/pythonnt_rc(_d).h</Message>
++ <Command>cd $(SolutionDir)
++make_versioninfo.exe > ..\..\PC\pythonnt_rc.h
++</Command>
++ <Outputs>$(SolutionDir)..\..\PC\pythonnt_rc.h;%(Outputs)</Outputs>
++ </CustomBuildStep>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(SolutionDir)make_versioninfo.exe</OutputFile>
++ </Link>
++ <PostBuildEvent>
++ <Command>cd $(SolutionDir)
++make_versioninfo.exe > ..\..\PC\python_nt.h
++</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <CustomBuildStep>
++ <Message>Build PC/pythonnt_rc(_d).h</Message>
++ <Command>cd $(SolutionDir)
++make_versioninfo_d.exe > ..\..\PC\pythonnt_rc_d.h
++</Command>
++ <Outputs>$(SolutionDir)..\..\PC\pythonnt_rc_d.h;%(Outputs)</Outputs>
++ </CustomBuildStep>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(SolutionDir)make_versioninfo_d.exe</OutputFile>
++ <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <SubSystem>Console</SubSystem>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ <PostBuildEvent>
++ <Command>cd $(SolutionDir)
++make_versioninfo_d.exe > ..\..\PC\python_nt_d.h
++</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <CustomBuildStep>
++ <Message>Build PC/pythonnt_rc(_d).h</Message>
++ <Command>cd $(SolutionDir)
++make_versioninfo_d.exe > ..\..\PC\pythonnt_rc_d.h
++</Command>
++ <Outputs>$(SolutionDir)..\..\PC\pythonnt_rc_d.h;%(Outputs)</Outputs>
++ </CustomBuildStep>
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(SolutionDir)make_versioninfo_d.exe</OutputFile>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ <PostBuildEvent>
++ <Command>cd $(SolutionDir)
++make_versioninfo_d.exe > ..\..\PC\python_nt_d.h
++</Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\make_versioninfo.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pcbuild.sln misc/build/Python-2.6.1/PC/VS10.0/pcbuild.sln
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pcbuild.sln 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pcbuild.sln 2010-10-04 13:04:31.593750000 +0200
+@@ -0,0 +1,370 @@
++?
++Microsoft Visual Studio Solution File, Format Version 11.00
++# Visual Studio 2010
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcxproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_versioninfo", "make_versioninfo.vcxproj", "{F0E0541E-F17D-430B-97C4-93ADF0DD284E}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcxproj", "{0E9791DB-593A-465F-98BC-681011311618}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes_test", "_ctypes_test.vcxproj", "{9EC7190A-249F-4180-A900-548FDCF3055F}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtree.vcxproj", "{17E1E049-C309-4D79-843F-AE483C264AEA}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_msi", "_msi.vcxproj", "{31FFC478-7B4A-43E8-9954-8D03E2187E9C}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
++EndProject
++#Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcxproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}"
++#EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kill_python", "kill_python.vcxproj", "{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcxproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcxproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcxproj", "{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcxproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
++EndProject
++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
++EndProject
++Global
++ GlobalSection(SolutionConfigurationPlatforms) = preSolution
++ Debug|Win32 = Debug|Win32
++ Debug|x64 = Debug|x64
++ PGInstrument|Win32 = PGInstrument|Win32
++ PGInstrument|x64 = PGInstrument|x64
++ PGUpdate|Win32 = PGUpdate|Win32
++ PGUpdate|x64 = PGUpdate|x64
++ Release|Win32 = Release|Win32
++ Release|x64 = Release|x64
++ EndGlobalSection
++ GlobalSection(ProjectConfigurationPlatforms) = postSolution
++ {0E9791DB-593A-465F-98BC-681011311618}.Debug|Win32.ActiveCfg = Debug|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.Debug|Win32.Build.0 = Debug|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.Debug|x64.ActiveCfg = Debug|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.Debug|x64.Build.0 = Debug|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.Release|Win32.ActiveCfg = Release|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.Release|Win32.Build.0 = Release|Win32
++ {0E9791DB-593A-465F-98BC-681011311618}.Release|x64.ActiveCfg = Release|x64
++ {0E9791DB-593A-465F-98BC-681011311618}.Release|x64.Build.0 = Release|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|Win32.ActiveCfg = Debug|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|Win32.Build.0 = Debug|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|x64.ActiveCfg = Debug|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|x64.Build.0 = Debug|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Release|Win32.ActiveCfg = Release|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Release|Win32.Build.0 = Release|Win32
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Release|x64.ActiveCfg = Release|x64
++ {9EC7190A-249F-4180-A900-548FDCF3055F}.Release|x64.Build.0 = Release|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Debug|Win32.ActiveCfg = Debug|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Debug|Win32.Build.0 = Debug|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Debug|x64.ActiveCfg = Debug|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Debug|x64.Build.0 = Debug|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Release|Win32.ActiveCfg = Release|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Release|Win32.Build.0 = Release|Win32
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Release|x64.ActiveCfg = Release|x64
++ {17E1E049-C309-4D79-843F-AE483C264AEA}.Release|x64.Build.0 = Release|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Debug|Win32.ActiveCfg = Debug|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Debug|Win32.Build.0 = Debug|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Debug|x64.ActiveCfg = Debug|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Debug|x64.Build.0 = Debug|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Release|Win32.ActiveCfg = Release|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Release|Win32.Build.0 = Release|Win32
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Release|x64.ActiveCfg = Release|x64
++ {31FFC478-7B4A-43E8-9954-8D03E2187E9C}.Release|x64.Build.0 = Release|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Debug|Win32.ActiveCfg = Debug|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Debug|Win32.Build.0 = Debug|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Debug|x64.ActiveCfg = Debug|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Debug|x64.Build.0 = Debug|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Release|Win32.ActiveCfg = Release|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Release|Win32.Build.0 = Release|Win32
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Release|x64.ActiveCfg = Release|x64
++ {9E48B300-37D1-11DD-8C41-005056C00008}.Release|x64.Build.0 = Release|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Debug|Win32.ActiveCfg = Debug|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Debug|Win32.Build.0 = Debug|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Debug|x64.ActiveCfg = Debug|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Debug|x64.Build.0 = Debug|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Release|Win32.ActiveCfg = Release|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Release|Win32.Build.0 = Release|Win32
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Release|x64.ActiveCfg = Release|x64
++ {86937F53-C189-40EF-8CE8-8759D8E7D480}.Release|x64.Build.0 = Release|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Debug|Win32.ActiveCfg = Debug|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Debug|Win32.Build.0 = Debug|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Debug|x64.ActiveCfg = Debug|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Debug|x64.Build.0 = Debug|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Release|Win32.ActiveCfg = Release|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Release|Win32.Build.0 = Release|Win32
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Release|x64.ActiveCfg = Release|x64
++ {C6E20F84-3247-4AD6-B051-B073268F73BA}.Release|x64.Build.0 = Release|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Debug|Win32.ActiveCfg = Debug|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Debug|Win32.Build.0 = Debug|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Debug|x64.ActiveCfg = Debug|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Debug|x64.Build.0 = Debug|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Release|Win32.ActiveCfg = Release|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Release|Win32.Build.0 = Release|Win32
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Release|x64.ActiveCfg = Release|x64
++ {6901D91C-6E48-4BB7-9FEC-700C8131DF1D}.Release|x64.Build.0 = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|Win32.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|x64.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|x64.Build.0 = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|Win32.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|x64.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|x64.Build.0 = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|Win32.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|x64.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|x64.Build.0 = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|Win32.ActiveCfg = Release|Win32
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|Win32.Build.0 = Release|Win32
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|x64.ActiveCfg = Release|x64
++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Release|x64.Build.0 = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|Win32.ActiveCfg = Debug|Win32
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|Win32.Build.0 = Debug|Win32
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|x64.ActiveCfg = Debug|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|x64.Build.0 = Debug|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|Win32.ActiveCfg = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|x64.ActiveCfg = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|x64.Build.0 = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|Win32.ActiveCfg = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|x64.ActiveCfg = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|x64.Build.0 = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|Win32.ActiveCfg = Release|Win32
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|Win32.Build.0 = Release|Win32
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.ActiveCfg = Release|x64
++ {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.Build.0 = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.Build.0 = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|Win32.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.Build.0 = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|Win32.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.Build.0 = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.ActiveCfg = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.Build.0 = Release|Win32
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.ActiveCfg = Release|x64
++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.Build.0 = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.ActiveCfg = Debug|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.Build.0 = Debug|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.ActiveCfg = Release|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.Build.0 = Release|Win32
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|x64
++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Debug|Win32.ActiveCfg = Debug|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Debug|Win32.Build.0 = Debug|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Debug|x64.ActiveCfg = Debug|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Debug|x64.Build.0 = Debug|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|Win32.ActiveCfg = Release|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|Win32.Build.0 = Release|Win32
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.ActiveCfg = Release|x64
++ {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.Build.0 = Release|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|Win32.ActiveCfg = Debug|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|Win32.Build.0 = Debug|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|x64.ActiveCfg = Debug|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug|x64.Build.0 = Debug|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|Win32.ActiveCfg = Release|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|Win32.Build.0 = Release|Win32
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.ActiveCfg = Release|x64
++ {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.Build.0 = Release|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.ActiveCfg = Debug|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.Build.0 = Debug|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|x64.ActiveCfg = Debug|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|x64.Build.0 = Debug|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|Win32.ActiveCfg = Release|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|Win32.Build.0 = Release|Win32
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|x64.ActiveCfg = Release|x64
++ {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release|x64.Build.0 = Release|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|Win32.ActiveCfg = Debug|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|Win32.Build.0 = Debug|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|x64.ActiveCfg = Debug|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|x64.Build.0 = Debug|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.ActiveCfg = Release|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.Build.0 = Release|Win32
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|x64.ActiveCfg = Release|x64
++ {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|x64.Build.0 = Release|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Debug|Win32.ActiveCfg = Debug|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Debug|Win32.Build.0 = Debug|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Debug|x64.ActiveCfg = Debug|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Debug|x64.Build.0 = Debug|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Release|Win32.ActiveCfg = Release|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Release|Win32.Build.0 = Release|Win32
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Release|x64.ActiveCfg = Release|x64
++ {18CAE28C-B454-46C1-87A0-493D91D97F03}.Release|x64.Build.0 = Release|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Debug|Win32.ActiveCfg = Debug|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Debug|Win32.Build.0 = Debug|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Debug|x64.ActiveCfg = Debug|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Debug|x64.Build.0 = Debug|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Release|Win32.ActiveCfg = Release|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Release|Win32.Build.0 = Release|Win32
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Release|x64.ActiveCfg = Release|x64
++ {ECC7CEAC-A5E5-458E-BB9E-2413CC847881}.Release|x64.Build.0 = Release|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|Win32.ActiveCfg = Debug|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|Win32.Build.0 = Debug|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|x64.ActiveCfg = Debug|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug|x64.Build.0 = Debug|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|Win32.ActiveCfg = Release|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|Win32.Build.0 = Release|Win32
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|x64.ActiveCfg = Release|x64
++ {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|x64.Build.0 = Release|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.ActiveCfg = Debug|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.Build.0 = Debug|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|x64.ActiveCfg = Debug|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|x64.Build.0 = Debug|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGInstrument|x64.Build.0 = PGInstrument|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.PGUpdate|x64.Build.0 = PGUpdate|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Release|Win32.ActiveCfg = Release|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Release|Win32.Build.0 = Release|Win32
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Release|x64.ActiveCfg = Release|x64
++ {28B5D777-DDF2-4B6B-B34F-31D938813856}.Release|x64.Build.0 = Release|x64
++ EndGlobalSection
++ GlobalSection(SolutionProperties) = preSolution
++ HideSolutionNode = FALSE
++ EndGlobalSection
++EndGlobal
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pginstrument.props misc/build/Python-2.6.1/PC/VS10.0/pginstrument.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pginstrument.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pginstrument.props 2010-10-04 12:52:05.203125000 +0200
+@@ -0,0 +1,38 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup Label="UserMacros">
++ <OutDirPGI>$(SolutionDir)$(Platform)-pgi\</OutDirPGI>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <OutDir>$(OutDirPGI)\</OutDir>
++ <IntDir>$(SolutionDir)$(PlatformName)-temp-pgi\$(ProjectName)\</IntDir>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
++ <OmitFramePointers>true</OmitFramePointers>
++ <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <BufferSecurityCheck>false</BufferSecurityCheck>
++ </ClCompile>
++ <Link>
++ <OptimizeReferences>true</OptimizeReferences>
++ <EnableCOMDATFolding>true</EnableCOMDATFolding>
++ <LinkTimeCodeGeneration>PGInstrument</LinkTimeCodeGeneration>
++ <ProfileGuidedDatabase>$(SolutionDir)$(Platform)-pgi\$(TargetName).pgd</ProfileGuidedDatabase>
++ <ImportLibrary>$(OutDirPGI)\$(TargetName).lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="OutDirPGI">
++ <Value>$(OutDirPGI)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pgupdate.props misc/build/Python-2.6.1/PC/VS10.0/pgupdate.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pgupdate.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pgupdate.props 2010-10-04 12:52:05.250000000 +0200
+@@ -0,0 +1,16 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ <Import Project="$(SolutionDir)\pginstrument.props" />
++ </ImportGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <OutDir>$(SolutionDir)$(PlatformName)-pgo\</OutDir>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <Link>
++ <AdditionalManifestDependencies>%(AdditionalManifestDependencies)</AdditionalManifestDependencies>
++ <LinkTimeCodeGeneration>PGUpdate</LinkTimeCodeGeneration>
++ </Link>
++ </ItemDefinitionGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pyd.props misc/build/Python-2.6.1/PC/VS10.0/pyd.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pyd.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pyd.props 2010-10-04 12:52:05.250000000 +0200
+@@ -0,0 +1,27 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <GenerateManifest>false</GenerateManifest>
++ <EmbedManifest>false</EmbedManifest>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>Py_BUILD_CORE_MODULE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName).pyd</OutputFile>
++ <ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
++ <ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
++ </Link>
++ <PostBuildEvent>
++ <Command>
++ </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pyd_d.props misc/build/Python-2.6.1/PC/VS10.0/pyd_d.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pyd_d.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pyd_d.props 2010-10-04 12:52:05.265625000 +0200
+@@ -0,0 +1,39 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ImportGroup Label="PropertySheets">
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros">
++ <PythonExe>$(SolutionDir)python_d.exe</PythonExe>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <LinkIncremental>false</LinkIncremental>
++ <GenerateManifest>false</GenerateManifest>
++ <EmbedManifest>false</EmbedManifest>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <PreprocessorDefinitions>Py_BUILD_CORE_MODULE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName)_d.pyd</OutputFile>
++ <ProgramDatabaseFile>$(OutDir)$(ProjectName)_d.pdb</ProgramDatabaseFile>
++ <ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
++ </Link>
++ <PostBuildEvent>
++ <Command>
++ </Command>
++ </PostBuildEvent>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="PythonExe">
++ <Value>$(PythonExe)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pyexpat.vcxproj misc/build/Python-2.6.1/PC/VS10.0/pyexpat.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pyexpat.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pyexpat.vcxproj 2010-10-04 12:52:05.046875000 +0200
+@@ -0,0 +1,231 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{D06B6426-4762-44CC-8BAD-D79052507F2F}</ProjectGuid>
++ <RootNamespace>pyexpat</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;.\..\..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\expat\xmlrole.h" />
++ <ClInclude Include="..\..\Modules\expat\xmltok.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\pyexpat.c" />
++ <ClCompile Include="..\..\Modules\expat\xmlparse.c" />
++ <ClCompile Include="..\..\Modules\expat\xmlrole.c" />
++ <ClCompile Include="..\..\Modules\expat\xmltok.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pyproject.props misc/build/Python-2.6.1/PC/VS10.0/pyproject.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pyproject.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pyproject.props 2010-10-04 12:52:05.281250000 +0200
+@@ -0,0 +1,115 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup Label="UserMacros">
++ <PyDllName>python26</PyDllName>
++ <PythonExe>$(SolutionDir)\python.exe</PythonExe>
++ <externalsDir>..\..</externalsDir>
++ <bsddbDir>$(bsddb47Dir)</bsddbDir>
++ <bsddbDepLibs>$(bsddb47DepLibs)</bsddbDepLibs>
++ <bsddb44Dir>$(externalsDir)\db-4.4.20\build_win32</bsddb44Dir>
++ <bsddb44DepLibs />
++ <bsddb47Dir>$(externalsDir)\db-4.7.25.0\build_windows</bsddb47Dir>
++ <bsddb47DepLibs>ws2_32.lib</bsddb47DepLibs>
++ <sqlite3Dir>$(externalsDir)\sqlite-3.5.9</sqlite3Dir>
++ <bz2Dir>$(externalsDir)\bzip2-1.0.5</bz2Dir>
++ <opensslDir>$(externalsDir)\openssl-0.9.8g</opensslDir>
++ <tcltkDir>$(externalsDir)\tcltk</tcltkDir>
++ <tcltk64Dir>$(externalsDir)\tcltk64</tcltk64Dir>
++ <tcltkLib>$(tcltkDir)\lib\tcl85.lib $(tcltkDir)\lib\tk85.lib</tcltkLib>
++ <tcltkLibDebug>$(tcltkDir)\lib\tcl85g.lib $(tcltkDir)\lib\tk85g.lib</tcltkLibDebug>
++ <tcltk64Lib>$(tcltk64Dir)\lib\tcl85.lib $(tcltk64Dir)\lib\tk85.lib</tcltk64Lib>
++ <tcltk64LibDebug>$(tcltk64Dir)\lib\tcl85g.lib $(tcltk64Dir)\lib\tk85g.lib</tcltk64LibDebug>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <OutDir>$(SolutionDir)\</OutDir>
++ <IntDir>$(SolutionDir)$(PlatformName)-temp-$(Configuration)\$(ProjectName)\</IntDir>
++ <LinkIncremental>false</LinkIncremental>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <IntrinsicFunctions>true</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;..\..\Include; ..\..\PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <ExceptionHandling>
++ </ExceptionHandling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <WarningLevel>Level3</WarningLevel>
++ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <Link>
++ <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
++ <GenerateDebugInformation>true</GenerateDebugInformation>
++ <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
++ <SubSystem>Windows</SubSystem>
++ <RandomizedBaseAddress>false</RandomizedBaseAddress>
++ <DataExecutionPrevention>
++ </DataExecutionPrevention>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ <ResourceCompile>
++ <AdditionalIncludeDirectories>..;..\..\PC;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="PyDllName">
++ <Value>$(PyDllName)</Value>
++ </BuildMacro>
++ <BuildMacro Include="PythonExe">
++ <Value>$(PythonExe)</Value>
++ </BuildMacro>
++ <BuildMacro Include="externalsDir">
++ <Value>$(externalsDir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddbDir">
++ <Value>$(bsddbDir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddbDepLibs">
++ <Value>$(bsddbDepLibs)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddb44Dir">
++ <Value>$(bsddb44Dir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddb44DepLibs">
++ <Value>$(bsddb44DepLibs)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddb47Dir">
++ <Value>$(bsddb47Dir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bsddb47DepLibs">
++ <Value>$(bsddb47DepLibs)</Value>
++ </BuildMacro>
++ <BuildMacro Include="sqlite3Dir">
++ <Value>$(sqlite3Dir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="bz2Dir">
++ <Value>$(bz2Dir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="opensslDir">
++ <Value>$(opensslDir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltkDir">
++ <Value>$(tcltkDir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltk64Dir">
++ <Value>$(tcltk64Dir)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltkLib">
++ <Value>$(tcltkLib)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltkLibDebug">
++ <Value>$(tcltkLibDebug)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltk64Lib">
++ <Value>$(tcltk64Lib)</Value>
++ </BuildMacro>
++ <BuildMacro Include="tcltk64LibDebug">
++ <Value>$(tcltk64LibDebug)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//python.vcxproj misc/build/Python-2.6.1/PC/VS10.0/python.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//python.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/python.vcxproj 2010-10-04 12:52:05.062500000 +0200
+@@ -0,0 +1,358 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}</ProjectGuid>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BrowseInformation>true</BrowseInformation>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python_d.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <BrowseInformation>true</BrowseInformation>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python_d.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2100000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)python.exe</OutputFile>
++ <SubSystem>Console</SubSystem>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <None Include="..\..\PC\pycon.ico" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\..\PC\python_exe.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\python.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pythoncore.vcxproj misc/build/Python-2.6.1/PC/VS10.0/pythoncore.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pythoncore.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pythoncore.vcxproj 2010-10-04 12:52:05.078125000 +0200
+@@ -0,0 +1,670 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}</ProjectGuid>
++ <RootNamespace>pythoncore</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDir)$(PyDllName).lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDir)$(PyDllName).lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Debug</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName)_d.dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName)_d.pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDir)$(PyDllName)_d.lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <Optimization>Disabled</Optimization>
++ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Debug</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName)_d.dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName)_d.pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDir)$(PyDllName)_d.lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDirPGI)$(PyDllName).lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDirPGI)$(PyDllName).lib</ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDirPGI)$(PyDllName).lib</ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalOptions>/Zm200 %(AdditionalOptions)</AdditionalOptions>
++ <AdditionalIncludeDirectories>..;..\..\Python;..\..\Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ <AdditionalIncludeDirectories>..;..\..\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ </ResourceCompile>
++ <PreLinkEvent>
++ <Message>Generate build information...</Message>
++ <Command>"$(SolutionDir)make_buildinfo.exe" Release</Command>
++ </PreLinkEvent>
++ <Link>
++ <AdditionalDependencies>getbuildinfo.o;%(AdditionalDependencies)</AdditionalDependencies>
++ <OutputFile>$(OutDir)$(PyDllName).dll</OutputFile>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <ProgramDatabaseFile>$(OutDir)$(PyDllName).pdb</ProgramDatabaseFile>
++ <BaseAddress>0x1e000000</BaseAddress>
++ <ImportLibrary>$(OutDirPGI)$(PyDllName).lib</ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Include\abstract.h" />
++ <ClInclude Include="..\..\Include\asdl.h" />
++ <ClInclude Include="..\..\Include\ast.h" />
++ <ClInclude Include="..\..\Include\bitset.h" />
++ <ClInclude Include="..\..\Include\boolobject.h" />
++ <ClInclude Include="..\..\Include\bufferobject.h" />
++ <ClInclude Include="..\..\Include\bytes_methods.h" />
++ <ClInclude Include="..\..\Include\bytearrayobject.h" />
++ <ClInclude Include="..\..\Include\bytesobject.h" />
++ <ClInclude Include="..\..\Include\cellobject.h" />
++ <ClInclude Include="..\..\Include\ceval.h" />
++ <ClInclude Include="..\..\Include\classobject.h" />
++ <ClInclude Include="..\..\Include\cobject.h" />
++ <ClInclude Include="..\..\Include\code.h" />
++ <ClInclude Include="..\..\Include\codecs.h" />
++ <ClInclude Include="..\..\Include\compile.h" />
++ <ClInclude Include="..\..\Include\complexobject.h" />
++ <ClInclude Include="..\..\Include\cStringIO.h" />
++ <ClInclude Include="..\..\Include\datetime.h" />
++ <ClInclude Include="..\..\Include\descrobject.h" />
++ <ClInclude Include="..\..\Include\dictobject.h" />
++ <ClInclude Include="..\..\Include\enumobject.h" />
++ <ClInclude Include="..\..\Include\errcode.h" />
++ <ClInclude Include="..\..\Include\eval.h" />
++ <ClInclude Include="..\..\Include\fileobject.h" />
++ <ClInclude Include="..\..\Include\floatobject.h" />
++ <ClInclude Include="..\..\Include\frameobject.h" />
++ <ClInclude Include="..\..\Include\funcobject.h" />
++ <ClInclude Include="..\..\Include\genobject.h" />
++ <ClInclude Include="..\..\Include\graminit.h" />
++ <ClInclude Include="..\..\Include\grammar.h" />
++ <ClInclude Include="..\..\Include\import.h" />
++ <ClInclude Include="..\..\Include\intobject.h" />
++ <ClInclude Include="..\..\Include\intrcheck.h" />
++ <ClInclude Include="..\..\Include\iterobject.h" />
++ <ClInclude Include="..\..\Include\listobject.h" />
++ <ClInclude Include="..\..\Include\longintrepr.h" />
++ <ClInclude Include="..\..\Include\longobject.h" />
++ <ClInclude Include="..\..\Include\marshal.h" />
++ <ClInclude Include="..\..\Include\memoryobject.h" />
++ <ClInclude Include="..\..\Include\metagrammar.h" />
++ <ClInclude Include="..\..\Include\methodobject.h" />
++ <ClInclude Include="..\..\Include\modsupport.h" />
++ <ClInclude Include="..\..\Include\moduleobject.h" />
++ <ClInclude Include="..\..\Include\node.h" />
++ <ClInclude Include="..\..\Include\object.h" />
++ <ClInclude Include="..\..\Include\objimpl.h" />
++ <ClInclude Include="..\..\Include\opcode.h" />
++ <ClInclude Include="..\..\Include\osdefs.h" />
++ <ClInclude Include="..\..\Include\parsetok.h" />
++ <ClInclude Include="..\..\Include\patchlevel.h" />
++ <ClInclude Include="..\..\Include\pgen.h" />
++ <ClInclude Include="..\..\Include\pgenheaders.h" />
++ <ClInclude Include="..\..\Include\py_curses.h" />
++ <ClInclude Include="..\..\Include\pyarena.h" />
++ <ClInclude Include="..\..\Include\pydebug.h" />
++ <ClInclude Include="..\..\Include\pyerrors.h" />
++ <ClInclude Include="..\..\Include\pyexpat.h" />
++ <ClInclude Include="..\..\Include\pyfpe.h" />
++ <ClInclude Include="..\..\Include\pygetopt.h" />
++ <ClInclude Include="..\..\Include\pymactoolbox.h" />
++ <ClInclude Include="..\..\Include\pymath.h" />
++ <ClInclude Include="..\..\Include\pymem.h" />
++ <ClInclude Include="..\..\Include\pyport.h" />
++ <ClInclude Include="..\..\Include\pystate.h" />
++ <ClInclude Include="..\..\Include\pystrcmp.h" />
++ <ClInclude Include="..\..\Include\pystrtod.h" />
++ <ClInclude Include="..\..\Include\Python-ast.h" />
++ <ClInclude Include="..\..\Include\Python.h" />
++ <ClInclude Include="..\..\Include\pythonrun.h" />
++ <ClInclude Include="..\..\Include\pythread.h" />
++ <ClInclude Include="..\..\Include\rangeobject.h" />
++ <ClInclude Include="..\..\Include\setobject.h" />
++ <ClInclude Include="..\..\Include\sliceobject.h" />
++ <ClInclude Include="..\..\Include\stringobject.h" />
++ <ClInclude Include="..\..\Include\structmember.h" />
++ <ClInclude Include="..\..\Include\structseq.h" />
++ <ClInclude Include="..\..\Include\symtable.h" />
++ <ClInclude Include="..\..\Include\sysmodule.h" />
++ <ClInclude Include="..\..\Include\timefuncs.h" />
++ <ClInclude Include="..\..\Include\token.h" />
++ <ClInclude Include="..\..\Include\traceback.h" />
++ <ClInclude Include="..\..\Include\tupleobject.h" />
++ <ClInclude Include="..\..\Include\ucnhash.h" />
++ <ClInclude Include="..\..\Include\unicodeobject.h" />
++ <ClInclude Include="..\..\Include\weakrefobject.h" />
++ <ClInclude Include="..\..\Modules\md5.h" />
++ <ClInclude Include="..\..\Modules\rotatingtree.h" />
++ <ClInclude Include="..\..\Modules\yuv.h" />
++ <ClInclude Include="..\..\Modules\zlib\crc32.h" />
++ <ClInclude Include="..\..\Modules\zlib\deflate.h" />
++ <ClInclude Include="..\..\Modules\zlib\inffast.h" />
++ <ClInclude Include="..\..\Modules\zlib\inffixed.h" />
++ <ClInclude Include="..\..\Modules\zlib\inflate.h" />
++ <ClInclude Include="..\..\Modules\zlib\inftrees.h" />
++ <ClInclude Include="..\..\Modules\zlib\trees.h" />
++ <ClInclude Include="..\..\Modules\zlib\zconf.h" />
++ <ClInclude Include="..\..\Modules\zlib\zconf.in.h" />
++ <ClInclude Include="..\..\Modules\zlib\zlib.h" />
++ <ClInclude Include="..\..\Modules\zlib\zutil.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\alg_jisx0201.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\cjkcodecs.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\emu_jisx0213_2000.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_cn.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_hk.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_jisx0213_pair.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_jp.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_kr.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\mappings_tw.h" />
++ <ClInclude Include="..\..\Modules\cjkcodecs\multibytecodec.h" />
++ <ClInclude Include="..\..\Objects\stringlib\count.h" />
++ <ClInclude Include="..\..\Objects\stringlib\fastsearch.h" />
++ <ClInclude Include="..\..\Objects\stringlib\find.h" />
++ <ClInclude Include="..\..\Objects\stringlib\partition.h" />
++ <ClInclude Include="..\..\Objects\unicodetype_db.h" />
++ <ClInclude Include="..\..\Parser\parser.h" />
++ <ClInclude Include="..\..\Parser\tokenizer.h" />
++ <ClInclude Include="..\..\PC\errmap.h" />
++ <ClInclude Include="..\..\PC\pyconfig.h" />
++ <ClInclude Include="..\..\Python\importdl.h" />
++ <ClInclude Include="..\..\Python\thread_nt.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\_bisectmodule.c" />
++ <ClCompile Include="..\..\Modules\_codecsmodule.c" />
++ <ClCompile Include="..\..\Modules\_collectionsmodule.c" />
++ <ClCompile Include="..\..\Modules\_csv.c" />
++ <ClCompile Include="..\..\Modules\_fileio.c" />
++ <ClCompile Include="..\..\Modules\_bytesio.c" />
++ <ClCompile Include="..\..\Modules\_functoolsmodule.c" />
++ <ClCompile Include="..\..\Modules\_heapqmodule.c" />
++ <ClCompile Include="..\..\Modules\_hotshot.c" />
++ <ClCompile Include="..\..\Modules\_json.c" />
++ <ClCompile Include="..\..\Modules\_localemodule.c" />
++ <ClCompile Include="..\..\Modules\_lsprof.c" />
++ <ClCompile Include="..\..\Modules\_randommodule.c" />
++ <ClCompile Include="..\..\Modules\_sre.c" />
++ <ClCompile Include="..\..\Modules\_struct.c" />
++ <ClCompile Include="..\..\Modules\_weakref.c" />
++ <ClCompile Include="..\..\Modules\arraymodule.c" />
++ <ClCompile Include="..\..\Modules\audioop.c" />
++ <ClCompile Include="..\..\Modules\binascii.c" />
++ <ClCompile Include="..\..\Modules\cmathmodule.c" />
++ <ClCompile Include="..\..\Modules\cPickle.c" />
++ <ClCompile Include="..\..\Modules\cStringIO.c" />
++ <ClCompile Include="..\..\Modules\datetimemodule.c" />
++ <ClCompile Include="..\..\Modules\errnomodule.c" />
++ <ClCompile Include="..\..\Modules\future_builtins.c" />
++ <ClCompile Include="..\..\Modules\gcmodule.c" />
++ <ClCompile Include="..\..\Modules\imageop.c" />
++ <ClCompile Include="..\..\Modules\itertoolsmodule.c" />
++ <ClCompile Include="..\..\Modules\main.c" />
++ <ClCompile Include="..\..\Modules\mathmodule.c" />
++ <ClCompile Include="..\..\Modules\md5.c" />
++ <ClCompile Include="..\..\Modules\md5module.c" />
++ <ClCompile Include="..\..\Modules\mmapmodule.c" />
++ <ClCompile Include="..\..\Modules\operator.c" />
++ <ClCompile Include="..\..\Modules\parsermodule.c" />
++ <ClCompile Include="..\..\Modules\posixmodule.c" />
++ <ClCompile Include="..\..\Modules\rotatingtree.c" />
++ <ClCompile Include="..\..\Modules\sha256module.c" />
++ <ClCompile Include="..\..\Modules\sha512module.c" />
++ <ClCompile Include="..\..\Modules\shamodule.c" />
++ <ClCompile Include="..\..\Modules\signalmodule.c" />
++ <ClCompile Include="..\..\Modules\stropmodule.c" />
++ <ClCompile Include="..\..\Modules\symtablemodule.c" />
++ <ClCompile Include="..\..\Modules\threadmodule.c" />
++ <ClCompile Include="..\..\Modules\timemodule.c" />
++ <ClCompile Include="..\..\Modules\xxsubtype.c" />
++ <ClCompile Include="..\..\Modules\yuvconvert.c" />
++ <ClCompile Include="..\..\Modules\zipimport.c" />
++ <ClCompile Include="..\..\Modules\zlibmodule.c" />
++ <ClCompile Include="..\..\Modules\zlib\adler32.c" />
++ <ClCompile Include="..\..\Modules\zlib\compress.c" />
++ <ClCompile Include="..\..\Modules\zlib\crc32.c" />
++ <ClCompile Include="..\..\Modules\zlib\deflate.c" />
++ <ClCompile Include="..\..\Modules\zlib\gzio.c" />
++ <ClCompile Include="..\..\Modules\zlib\infback.c" />
++ <ClCompile Include="..\..\Modules\zlib\inffast.c" />
++ <ClCompile Include="..\..\Modules\zlib\inflate.c" />
++ <ClCompile Include="..\..\Modules\zlib\inftrees.c" />
++ <ClCompile Include="..\..\Modules\zlib\trees.c" />
++ <ClCompile Include="..\..\Modules\zlib\uncompr.c" />
++ <ClCompile Include="..\..\Modules\zlib\zutil.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_cn.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_hk.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_iso2022.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_jp.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_kr.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\_codecs_tw.c" />
++ <ClCompile Include="..\..\Modules\cjkcodecs\multibytecodec.c" />
++ <ClCompile Include="..\..\Objects\abstract.c" />
++ <ClCompile Include="..\..\Objects\boolobject.c" />
++ <ClCompile Include="..\..\Objects\bufferobject.c" />
++ <ClCompile Include="..\..\Objects\bytes_methods.c" />
++ <ClCompile Include="..\..\Objects\bytearrayobject.c" />
++ <ClCompile Include="..\..\Objects\stringobject.c" />
++ <ClCompile Include="..\..\Objects\cellobject.c" />
++ <ClCompile Include="..\..\Objects\classobject.c" />
++ <ClCompile Include="..\..\Objects\cobject.c" />
++ <ClCompile Include="..\..\Objects\codeobject.c" />
++ <ClCompile Include="..\..\Objects\complexobject.c" />
++ <ClCompile Include="..\..\Objects\descrobject.c" />
++ <ClCompile Include="..\..\Objects\dictobject.c" />
++ <ClCompile Include="..\..\Objects\enumobject.c" />
++ <ClCompile Include="..\..\Objects\exceptions.c" />
++ <ClCompile Include="..\..\Objects\fileobject.c" />
++ <ClCompile Include="..\..\Objects\floatobject.c" />
++ <ClCompile Include="..\..\Objects\frameobject.c" />
++ <ClCompile Include="..\..\Objects\funcobject.c" />
++ <ClCompile Include="..\..\Objects\genobject.c" />
++ <ClCompile Include="..\..\Objects\intobject.c" />
++ <ClCompile Include="..\..\Objects\iterobject.c" />
++ <ClCompile Include="..\..\Objects\listobject.c" />
++ <ClCompile Include="..\..\Objects\longobject.c" />
++ <ClCompile Include="..\..\Objects\methodobject.c" />
++ <ClCompile Include="..\..\Objects\moduleobject.c" />
++ <ClCompile Include="..\..\Objects\object.c" />
++ <ClCompile Include="..\..\Objects\obmalloc.c" />
++ <ClCompile Include="..\..\Objects\rangeobject.c" />
++ <ClCompile Include="..\..\Objects\setobject.c" />
++ <ClCompile Include="..\..\Objects\sliceobject.c" />
++ <ClCompile Include="..\..\Objects\structseq.c" />
++ <ClCompile Include="..\..\Objects\tupleobject.c" />
++ <ClCompile Include="..\..\Objects\typeobject.c" />
++ <ClCompile Include="..\..\Objects\unicodectype.c" />
++ <ClCompile Include="..\..\Objects\unicodeobject.c" />
++ <ClCompile Include="..\..\Objects\weakrefobject.c" />
++ <ClCompile Include="..\..\Parser\acceler.c" />
++ <ClCompile Include="..\..\Parser\bitset.c" />
++ <ClCompile Include="..\..\Parser\firstsets.c" />
++ <ClCompile Include="..\..\Parser\grammar.c" />
++ <ClCompile Include="..\..\Parser\grammar1.c" />
++ <ClCompile Include="..\..\Parser\listnode.c" />
++ <ClCompile Include="..\..\Parser\metagrammar.c" />
++ <ClCompile Include="..\..\Parser\myreadline.c" />
++ <ClCompile Include="..\..\Parser\node.c" />
++ <ClCompile Include="..\..\Parser\parser.c" />
++ <ClCompile Include="..\..\Parser\parsetok.c" />
++ <ClCompile Include="..\..\Parser\tokenizer.c" />
++ <ClCompile Include="..\..\PC\_subprocess.c" />
++ <ClCompile Include="..\..\PC\_winreg.c" />
++ <ClCompile Include="..\..\PC\config.c" />
++ <ClCompile Include="..\..\PC\dl_nt.c" />
++ <ClCompile Include="..\..\PC\getpathp.c" />
++ <ClCompile Include="..\..\PC\import_nt.c" />
++ <ClCompile Include="..\..\PC\msvcrtmodule.c" />
++ <ClCompile Include="..\..\Python\_warnings.c" />
++ <ClCompile Include="..\..\Python\asdl.c" />
++ <ClCompile Include="..\..\Python\ast.c" />
++ <ClCompile Include="..\..\Python\bltinmodule.c" />
++ <ClCompile Include="..\..\Python\ceval.c" />
++ <ClCompile Include="..\..\Python\codecs.c" />
++ <ClCompile Include="..\..\Python\compile.c" />
++ <ClCompile Include="..\..\Python\dynload_win.c" />
++ <ClCompile Include="..\..\Python\errors.c" />
++ <ClCompile Include="..\..\Python\formatter_string.c" />
++ <ClCompile Include="..\..\Python\formatter_unicode.c" />
++ <ClCompile Include="..\..\Python\frozen.c" />
++ <ClCompile Include="..\..\Python\future.c" />
++ <ClCompile Include="..\..\Python\getargs.c" />
++ <ClCompile Include="..\..\Python\getcompiler.c" />
++ <ClCompile Include="..\..\Python\getcopyright.c" />
++ <ClCompile Include="..\..\Python\getmtime.c" />
++ <ClCompile Include="..\..\Python\getopt.c" />
++ <ClCompile Include="..\..\Python\getplatform.c" />
++ <ClCompile Include="..\..\Python\getversion.c" />
++ <ClCompile Include="..\..\Python\graminit.c" />
++ <ClCompile Include="..\..\Python\import.c" />
++ <ClCompile Include="..\..\Python\importdl.c" />
++ <ClCompile Include="..\..\Python\marshal.c" />
++ <ClCompile Include="..\..\Python\modsupport.c" />
++ <ClCompile Include="..\..\Python\mysnprintf.c" />
++ <ClCompile Include="..\..\Python\mystrtoul.c" />
++ <ClCompile Include="..\..\Python\peephole.c" />
++ <ClCompile Include="..\..\Python\pyarena.c" />
++ <ClCompile Include="..\..\Python\pyfpe.c" />
++ <ClCompile Include="..\..\Python\pymath.c" />
++ <ClCompile Include="..\..\Python\pystate.c" />
++ <ClCompile Include="..\..\Python\pystrcmp.c" />
++ <ClCompile Include="..\..\Python\pystrtod.c" />
++ <ClCompile Include="..\..\Python\Python-ast.c" />
++ <ClCompile Include="..\..\Python\pythonrun.c" />
++ <ClCompile Include="..\..\Python\structmember.c" />
++ <ClCompile Include="..\..\Python\symtable.c" />
++ <ClCompile Include="..\..\Python\sysmodule.c" />
++ <ClCompile Include="..\..\Python\thread.c" />
++ <ClCompile Include="..\..\Python\traceback.c" />
++ </ItemGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\..\PC\python_nt.rc" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//pythonw.vcxproj misc/build/Python-2.6.1/PC/VS10.0/pythonw.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//pythonw.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/pythonw.vcxproj 2010-10-04 12:52:05.078125000 +0200
+@@ -0,0 +1,340 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{F4229CC3-873C-49AE-9729-DD308ED4CD4A}</ProjectGuid>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw_d.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <IntrinsicFunctions>false</IntrinsicFunctions>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw_d.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX86</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ <CompileAs>Default</CompileAs>
++ </ClCompile>
++ <ResourceCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ <Culture>0x0409</Culture>
++ </ResourceCompile>
++ <Link>
++ <OutputFile>$(OutDir)pythonw.exe</OutputFile>
++ <StackReserveSize>2000000</StackReserveSize>
++ <BaseAddress>0x1d000000</BaseAddress>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ResourceCompile Include="..\..\PC\python_exe.rc" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\WinMain.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//release.props misc/build/Python-2.6.1/PC/VS10.0/release.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//release.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/release.props 2010-10-04 12:52:05.281250000 +0200
+@@ -0,0 +1,19 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup Label="UserMacros">
++ <KillPythonExe>$(OutDir)kill_python.exe</KillPythonExe>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="KillPythonExe">
++ <Value>$(KillPythonExe)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//select.vcxproj misc/build/Python-2.6.1/PC/VS10.0/select.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//select.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/select.vcxproj 2010-10-04 12:52:05.093750000 +0200
+@@ -0,0 +1,228 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{18CAE28C-B454-46C1-87A0-493D91D97F03}</ProjectGuid>
++ <RootNamespace>select</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <IgnoreSpecificDefaultLibraries>libc;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
++ <BaseAddress>0x1D110000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\selectmodule.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//sqlite3.vcxproj misc/build/Python-2.6.1/PC/VS10.0/sqlite3.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//sqlite3.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/sqlite3.vcxproj 2010-10-04 12:52:05.093750000 +0200
+@@ -0,0 +1,240 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{A1A295E5-463C-437F-81CA-1F32367685DA}</ProjectGuid>
++ <RootNamespace>sqlite3</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName)_d.dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName)_d.dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <AdditionalIncludeDirectories>..;$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="$(sqlite3Dir)\sqlite3.h" />
++ <ClInclude Include="$(sqlite3Dir)\sqlite3ext.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="$(sqlite3Dir)\sqlite3.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//unicodedata.vcxproj misc/build/Python-2.6.1/PC/VS10.0/unicodedata.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//unicodedata.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/unicodedata.vcxproj 2010-10-04 12:52:05.109375000 +0200
+@@ -0,0 +1,216 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}</ProjectGuid>
++ <RootNamespace>unicodedata</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <BaseAddress>0x1D120000</BaseAddress>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClInclude Include="..\..\Modules\unicodedata_db.h" />
++ <ClInclude Include="..\..\Modules\unicodename_db.h" />
++ </ItemGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\Modules\unicodedata.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//w9xpopen.vcxproj misc/build/Python-2.6.1/PC/VS10.0/w9xpopen.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//w9xpopen.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/w9xpopen.vcxproj 2010-10-04 12:52:05.109375000 +0200
+@@ -0,0 +1,287 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}</ProjectGuid>
++ <RootNamespace>w9xpopen</RootNamespace>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>Application</ConfigurationType>
++ <UseOfMfc>false</UseOfMfc>
++ <CharacterSet>MultiByte</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="release.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyproject.props" />
++ <Import Project="x64.props" />
++ <Import Project="debug.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>Disabled</Optimization>
++ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
++ </ClCompile>
++ <Link>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImportLibrary>
++ </ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImportLibrary>
++ </ImportLibrary>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <ClCompile>
++ <Optimization>MaxSpeed</Optimization>
++ <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
++ <StringPooling>true</StringPooling>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
++ <FunctionLevelLinking>true</FunctionLevelLinking>
++ </ClCompile>
++ <Link>
++ <GenerateDebugInformation>false</GenerateDebugInformation>
++ <SubSystem>Console</SubSystem>
++ <ImportLibrary>
++ </ImportLibrary>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\w9xpopen.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//winsound.vcxproj misc/build/Python-2.6.1/PC/VS10.0/winsound.vcxproj
+--- misc/build/Python-2.6.1/PC/VS10.0.old//winsound.vcxproj 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/winsound.vcxproj 2010-10-04 12:52:05.140625000 +0200
+@@ -0,0 +1,212 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <ItemGroup Label="ProjectConfigurations">
++ <ProjectConfiguration Include="Debug|Win32">
++ <Configuration>Debug</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Debug|x64">
++ <Configuration>Debug</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|Win32">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGInstrument|x64">
++ <Configuration>PGInstrument</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|Win32">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="PGUpdate|x64">
++ <Configuration>PGUpdate</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|Win32">
++ <Configuration>Release</Configuration>
++ <Platform>Win32</Platform>
++ </ProjectConfiguration>
++ <ProjectConfiguration Include="Release|x64">
++ <Configuration>Release</Configuration>
++ <Platform>x64</Platform>
++ </ProjectConfiguration>
++ </ItemGroup>
++ <PropertyGroup Label="Globals">
++ <ProjectGuid>{28B5D777-DDF2-4B6B-B34F-31D938813856}</ProjectGuid>
++ <RootNamespace>winsound</RootNamespace>
++ <Keyword>Win32Proj</Keyword>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ <WholeProgramOptimization>true</WholeProgramOptimization>
++ </PropertyGroup>
++ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
++ <ConfigurationType>DynamicLibrary</ConfigurationType>
++ <CharacterSet>NotSet</CharacterSet>
++ </PropertyGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
++ <ImportGroup Label="ExtensionSettings">
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pgupdate.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ <Import Project="pginstrument.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
++ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
++ <Import Project="pyd_d.props" />
++ <Import Project="x64.props" />
++ </ImportGroup>
++ <PropertyGroup Label="UserMacros" />
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
++ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
++ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
++ </PropertyGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|Win32'">
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGInstrument|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|Win32'">
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='PGUpdate|x64'">
++ <Midl>
++ <TargetEnvironment>X64</TargetEnvironment>
++ </Midl>
++ <Link>
++ <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <ClCompile Include="..\..\PC\winsound.c" />
++ </ItemGroup>
++ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
++ <ImportGroup Label="ExtensionTargets">
++ </ImportGroup>
++</Project>
+\ No newline at end of file
+diff -uN misc/build/Python-2.6.1/PC/VS10.0.old//x64.props misc/build/Python-2.6.1/PC/VS10.0/x64.props
+--- misc/build/Python-2.6.1/PC/VS10.0.old//x64.props 1970-01-01 01:00:00.000000000 +0100
++++ misc/build/Python-2.6.1/PC/VS10.0/x64.props 2010-10-04 12:52:05.296875000 +0200
+@@ -0,0 +1,26 @@
++<?xml version="1.0" encoding="utf-8"?>
++<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
++ <PropertyGroup Label="UserMacros">
++ <PythonExe>$(HOST_PYTHON)</PythonExe>
++ </PropertyGroup>
++ <PropertyGroup>
++ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
++ <_PropertySheetDisplayName>amd64</_PropertySheetDisplayName>
++ <OutDir>$(SolutionDir)\amd64\</OutDir>
++ <IntDir>$(SolutionDir)$(PlatformName)-temp-$(Configuration)\$(ProjectName)\</IntDir>
++ </PropertyGroup>
++ <ItemDefinitionGroup>
++ <ClCompile>
++ <AdditionalOptions>/USECL:MS_OPTERON /GS- %(AdditionalOptions)</AdditionalOptions>
++ <PreprocessorDefinitions>_WIN64;_M_X64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
++ </ClCompile>
++ <Link>
++ <TargetMachine>MachineX64</TargetMachine>
++ </Link>
++ </ItemDefinitionGroup>
++ <ItemGroup>
++ <BuildMacro Include="PythonExe">
++ <Value>$(PythonExe)</Value>
++ </BuildMacro>
++ </ItemGroup>
++</Project>
+\ No newline at end of file
\ No newline at end of file diff --git a/python/Python-2.6.1.patch b/python/Python-2.6.1.patch new file mode 100644 index 000000000000..ac70bab33f70 --- /dev/null +++ b/python/Python-2.6.1.patch @@ -0,0 +1,571 @@ +--- misc/Python-2.6.1/Include/pyport.h 2008-06-11 09:41:16.000000000 +0200 ++++ misc/build/Python-2.6.1/Include/pyport.h 2011-06-06 17:31:17.000000000 +0200 +@@ -449,11 +449,6 @@ + in platform-specific #ifdefs. + **************************************************************************/ + +-#ifdef SOLARIS +-/* Unchecked */ +-extern int gethostname(char *, int); +-#endif +- + #ifdef __BEOS__ + /* Unchecked */ + /* It's in the libs, but not the headers... - [cjh] */ +--- misc/Python-2.6.1/PCbuild/pcbuild.sln 2008-06-27 04:30:34.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/pcbuild.sln 2011-06-06 17:31:17.000000000 +0200 +@@ -15,16 +15,6 @@ + {C73F0EC1-358B-4177-940F-0846AC8B04CD} = {C73F0EC1-358B-4177-940F-0846AC8B04CD} + EndProjectSection + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}" +- ProjectSection(ProjectDependencies) = postProject +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- EndProjectSection +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}" +- ProjectSection(ProjectDependencies) = postProject +- {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} +- EndProjectSection +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}" + EndProject + Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{553EC33E-9816-4996-A660-5D6186A0B0B3}" +@@ -38,12 +28,6 @@ + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} + EndProjectSection + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bsddb", "_bsddb.vcproj", "{B4D38F3F-68FB-42EC-A45D-E00657BB3627}" +- ProjectSection(ProjectDependencies) = postProject +- {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- EndProjectSection +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcproj", "{0E9791DB-593A-465F-98BC-681011311618}" + ProjectSection(ProjectDependencies) = postProject + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +@@ -69,12 +53,6 @@ + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} + EndProjectSection + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcproj", "{13CECB97-4119-4316-9D42-8534019A5A44}" +- ProjectSection(ProjectDependencies) = postProject +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- {A1A295E5-463C-437F-81CA-1F32367685DA} = {A1A295E5-463C-437F-81CA-1F32367685DA} +- EndProjectSection +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}" + ProjectSection(ProjectDependencies) = postProject + {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} +@@ -87,16 +65,6 @@ + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} + EndProjectSection + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_tkinter", "_tkinter.vcproj", "{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}" +- ProjectSection(ProjectDependencies) = postProject +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- EndProjectSection +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bz2", "bz2.vcproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}" +- ProjectSection(ProjectDependencies) = postProject +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- EndProjectSection +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}" + ProjectSection(ProjectDependencies) = postProject + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +@@ -112,19 +80,6 @@ + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} + EndProjectSection + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "bdist_wininst.vcproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}" +- ProjectSection(ProjectDependencies) = postProject +- {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9} +- {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +- EndProjectSection +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}" +- ProjectSection(ProjectDependencies) = postProject +- {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31} +- EndProjectSection +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcproj", "{9E48B300-37D1-11DD-8C41-005056C00008}" + ProjectSection(ProjectDependencies) = postProject + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} +@@ -162,20 +117,20 @@ + {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.Build.0 = Release|x64 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.ActiveCfg = Debug|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.Build.0 = Debug|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|Win32 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|x64 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|x64 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.ActiveCfg = Release|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.Build.0 = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|Win32 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|x64 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|x64 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.ActiveCfg = Release|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.Build.0 = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|Win32 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|x64 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|x64 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.ActiveCfg = Release|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.Build.0 = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|Win32 +- {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|Win32 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|x64 ++ {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|x64 + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.ActiveCfg = Debug|Win32 + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.Build.0 = Debug|Win32 + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|x64.ActiveCfg = Debug|x64 +@@ -226,20 +181,20 @@ + {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release|x64.Build.0 = Release|x64 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.ActiveCfg = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|Win32.Build.0 = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.ActiveCfg = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.Build.0 = Release|Win32 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.ActiveCfg = Release|x64 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug|x64.Build.0 = Release|x64 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|Win32.ActiveCfg = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|Win32.Build.0 = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.ActiveCfg = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.Build.0 = Release|Win32 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.ActiveCfg = Release|x64 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGInstrument|x64.Build.0 = Release|x64 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|Win32.ActiveCfg = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|Win32.Build.0 = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.ActiveCfg = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.Build.0 = Release|Win32 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.ActiveCfg = Release|x64 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.PGUpdate|x64.Build.0 = Release|x64 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.ActiveCfg = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|Win32.Build.0 = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.ActiveCfg = Release|Win32 +- {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.Build.0 = Release|Win32 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.ActiveCfg = Release|x64 ++ {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release|x64.Build.0 = Release|x64 + {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.ActiveCfg = Debug|Win32 + {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|Win32.Build.0 = Debug|Win32 + {28B5D777-DDF2-4B6B-B34F-31D938813856}.Debug|x64.ActiveCfg = Debug|x64 +@@ -481,7 +436,7 @@ + {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.ActiveCfg = Release|x64 + {D06B6426-4762-44CC-8BAD-D79052507F2F}.Release|x64.Build.0 = Release|x64 + {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|Win32.ActiveCfg = Release|Win32 +- {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|x64.ActiveCfg = Release|x64 ++ {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.Debug|x64.ActiveCfg = Debug|x64 + {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|Win32.ActiveCfg = Release|Win32 + {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGInstrument|x64.ActiveCfg = Release|x64 + {EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}.PGUpdate|Win32.ActiveCfg = Release|Win32 +--- misc/Python-2.6.1/PCbuild/make_versioninfo.vcproj 2008-06-12 23:58:20.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/make_versioninfo.vcproj 2011-06-06 17:31:17.000000000 +0200 +@@ -124,6 +124,8 @@ + InlineFunctionExpansion="1" + EnableIntrinsicFunctions="true" + PreprocessorDefinitions="_CONSOLE" ++ RuntimeLibrary="2" ++ CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -137,6 +139,8 @@ + <Tool + Name="VCLinkerTool" + OutputFile="$(SolutionDir)make_versioninfo.exe" ++ ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ++ SubSystem="1" + /> + <Tool + Name="VCALinkTool" +@@ -175,7 +179,7 @@ + <Tool + Name="VCCustomBuildTool" + Description="Build PC/pythonnt_rc(_d).h" +- CommandLine="cd $(SolutionDir)
make_versioninfo_d.exe > ..\PC\pythonnt_rc_d.h
" ++ CommandLine="cd $(SolutionDir)
make_versioninfo.exe > ..\PC\pythonnt_rc_d.h
" + Outputs="$(SolutionDir)..\PC\pythonnt_rc_d.h" + /> + <Tool +@@ -210,7 +214,7 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(SolutionDir)make_versioninfo_d.exe" ++ OutputFile="$(SolutionDir)make_versioninfo.exe" + ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" + SubSystem="1" + BaseAddress="0x1d000000" +@@ -235,7 +239,7 @@ + /> + <Tool + Name="VCPostBuildEventTool" +- CommandLine="cd $(SolutionDir)
make_versioninfo_d.exe > ..\PC\python_nt_d.h
" ++ CommandLine="cd $(SolutionDir)
make_versioninfo.exe > ..\PC\python_nt_d.h
" + /> + </Configuration> + <Configuration +@@ -249,7 +253,7 @@ + <Tool + Name="VCCustomBuildTool" + Description="Build PC/pythonnt_rc(_d).h" +- CommandLine="cd $(SolutionDir)
make_versioninfo_d.exe > ..\PC\pythonnt_rc_d.h
" ++ CommandLine="cd $(SolutionDir)
make_versioninfo.exe > ..\PC\pythonnt_rc_d.h
" + Outputs="$(SolutionDir)..\PC\pythonnt_rc_d.h" + /> + <Tool +@@ -268,6 +272,8 @@ + InlineFunctionExpansion="1" + EnableIntrinsicFunctions="false" + PreprocessorDefinitions="_CONSOLE" ++ RuntimeLibrary="2" ++ CompileAs="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -280,8 +286,9 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(SolutionDir)make_versioninfo_d.exe" +- TargetMachine="17" ++ OutputFile="$(SolutionDir)make_versioninfo.exe" ++ ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ++ SubSystem="1" + /> + <Tool + Name="VCALinkTool" +@@ -303,7 +310,7 @@ + /> + <Tool + Name="VCPostBuildEventTool" +- CommandLine="cd $(SolutionDir)
make_versioninfo_d.exe > ..\PC\python_nt_d.h
" ++ CommandLine="cd $(SolutionDir)
make_versioninfo.exe > ..\PC\python_nt_d.h
" + /> + </Configuration> + </Configurations> +--- misc/Python-2.6.1/PCbuild/make_buildinfo.vcproj 2007-11-30 20:18:08.000000000 +0100 ++++ misc/build/Python-2.6.1/PCbuild/make_buildinfo.vcproj 2011-06-06 17:31:17.000000000 +0200 +@@ -119,6 +119,9 @@ + /> + <Tool + Name="VCLinkerTool" ++ OutputFile="$(OutDir)/make_buildinfo.exe" ++ ProgramDatabaseFile="$(TargetDir)$(TargetName).pdb" ++ SubSystem="1" + /> + <Tool + Name="VCALinkTool" +--- misc/Python-2.6.1/PCbuild/x64.vsprops 2008-02-29 19:54:45.000000000 +0100 ++++ misc/build/Python-2.6.1/PCbuild/x64.vsprops 2011-06-06 17:31:17.000000000 +0200 +@@ -3,7 +3,7 @@ + ProjectType="Visual C++" + Version="8.00" + Name="amd64" +- OutputDirectory="$(SolutionDir)\amd64\" ++ OutputDirectory="$(SolutionDir)" + IntermediateDirectory="$(SolutionDir)$(PlatformName)-temp-$(ConfigurationName)\$(ProjectName)\" + > + <Tool +@@ -15,8 +15,4 @@ + Name="VCLinkerTool" + TargetMachine="17" + /> +- <UserMacro +- Name="PythonExe" +- Value="$(HOST_PYTHON)" +- /> + </VisualStudioPropertySheet> +--- misc/Python-2.6.1/PCbuild/debug.vsprops 2008-04-03 20:27:06.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/debug.vsprops 2011-06-06 17:31:17.000000000 +0200 +@@ -10,6 +10,6 @@ + /> + <UserMacro + Name="KillPythonExe" +- Value="$(OutDir)\kill_python_d.exe" ++ Value="$(OutDir)\kill_python.exe" + /> + </VisualStudioPropertySheet> +--- misc/Python-2.6.1/PCbuild/kill_python.vcproj 2008-06-14 00:38:33.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/kill_python.vcproj 2011-06-06 17:31:17.000000000 +0200 +@@ -54,7 +54,7 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(OutDir)\$(ProjectName)_d.exe" ++ OutputFile="$(OutDir)\$(ProjectName).exe" + SubSystem="1" + /> + <Tool +@@ -115,7 +115,7 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(OutDir)\$(ProjectName)_d.exe" ++ OutputFile="$(OutDir)\$(ProjectName).exe" + SubSystem="1" + /> + <Tool +--- misc/Python-2.6.1/PCbuild/pyd_d.vsprops 2008-11-06 18:29:54.000000000 +0100 ++++ misc/build/Python-2.6.1/PCbuild/pyd_d.vsprops 2011-06-06 17:31:17.000000000 +0200 +@@ -11,13 +11,13 @@ + InlineFunctionExpansion="0" + EnableIntrinsicFunctions="false" + PreprocessorDefinitions="Py_BUILD_CORE_MODULE" +- RuntimeLibrary="3" ++ RuntimeLibrary="2" + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(OutDir)\$(ProjectName)_d.pyd" ++ OutputFile="$(OutDir)\$(ProjectName).pyd" + LinkIncremental="1" +- ProgramDatabaseFile="$(OutDir)\$(ProjectName)_d.pdb" ++ ProgramDatabaseFile="$(OutDir)\$(ProjectName).pdb" + ImportLibrary="$(OutDir)\$(TargetName).lib" + GenerateManifest="false" + /> +@@ -31,6 +31,6 @@ + /> + <UserMacro + Name="PythonExe" +- Value="$(SolutionDir)python_d.exe" ++ Value="$(SolutionDir)python.exe" + /> + </VisualStudioPropertySheet> +--- misc/Python-2.6.1/PCbuild/python.vcproj 2008-06-12 23:58:20.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/python.vcproj 2011-06-06 17:31:17.000000000 +0200 +@@ -191,7 +191,7 @@ + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="_CONSOLE" +- RuntimeLibrary="3" ++ RuntimeLibrary="2" + BrowseInformation="1" + CompileAs="0" + /> +@@ -209,7 +209,7 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(OutDir)\python_d.exe" ++ OutputFile="$(OutDir)\python.exe" + SubSystem="1" + StackReserveSize="2000000" + BaseAddress="0x1d000000" +@@ -266,7 +266,7 @@ + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="_CONSOLE" +- RuntimeLibrary="3" ++ RuntimeLibrary="2" + BrowseInformation="1" + CompileAs="0" + /> +@@ -284,9 +284,9 @@ + /> + <Tool + Name="VCLinkerTool" +- OutputFile="$(OutDir)\python_d.exe" ++ OutputFile="$(OutDir)\python.exe" + SubSystem="1" +- StackReserveSize="2100000" ++ StackReserveSize="2000000" + BaseAddress="0x1d000000" + /> + <Tool +--- misc/Python-2.6.1/PCbuild/pythoncore.vcproj 2008-06-10 23:23:22.000000000 +0200 ++++ misc/build/Python-2.6.1/PCbuild/pythoncore.vcproj 2011-06-06 17:31:17.000000000 +0200 +@@ -198,7 +198,7 @@ + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories="..\Python;..\Modules\zlib" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32" +- RuntimeLibrary="3" ++ RuntimeLibrary="2" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -217,11 +217,11 @@ + <Tool + Name="VCLinkerTool" + AdditionalDependencies="getbuildinfo.o" +- OutputFile="$(OutDir)\$(PyDllName)_d.dll" ++ OutputFile="$(OutDir)\$(PyDllName).dll" + IgnoreDefaultLibraryNames="libc" +- ProgramDatabaseFile="$(OutDir)$(PyDllName)_d.pdb" ++ ProgramDatabaseFile="$(OutDir)$(PyDllName).pdb" + BaseAddress="0x1e000000" +- ImportLibrary="$(OutDir)$(PyDllName)_d.lib" ++ ImportLibrary="$(OutDir)$(PyDllName).lib" + /> + <Tool + Name="VCALinkTool" +@@ -276,7 +276,7 @@ + EnableIntrinsicFunctions="false" + AdditionalIncludeDirectories="..\Python;..\Modules\zlib" + PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32" +- RuntimeLibrary="3" ++ RuntimeLibrary="2" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -295,11 +295,11 @@ + <Tool + Name="VCLinkerTool" + AdditionalDependencies="getbuildinfo.o" +- OutputFile="$(OutDir)\$(PyDllName)_d.dll" ++ OutputFile="$(OutDir)\$(PyDllName).dll" + IgnoreDefaultLibraryNames="libc" +- ProgramDatabaseFile="$(OutDir)$(PyDllName)_d.pdb" ++ ProgramDatabaseFile="$(OutDir)$(PyDllName).pdb" + BaseAddress="0x1e000000" +- ImportLibrary="$(OutDir)$(PyDllName)_d.lib" ++ ImportLibrary="$(OutDir)$(PyDllName).lib" + /> + <Tool + Name="VCALinkTool" +--- misc/Python-2.6.1/PCbuild/make_buildinfo.c 2007-12-06 22:13:06.000000000 +0100 ++++ misc/build/Python-2.6.1/PCbuild/make_buildinfo.c 2011-06-06 17:31:17.000000000 +0200 +@@ -65,7 +65,7 @@ + strcat_s(command, CMD_SIZE, "-MD "); + } + else if (strcmp(argv[1], "Debug") == 0) { +- strcat_s(command, CMD_SIZE, "-D_DEBUG -MDd "); ++ strcat_s(command, CMD_SIZE, "-D_DEBUG -MD "); + } + else if (strcmp(argv[1], "ReleaseItanium") == 0) { + strcat_s(command, CMD_SIZE, "-MD /USECL:MS_ITANIUM "); +--- misc/Python-2.6.1/Objects/exceptions.c 2008-07-30 19:45:10.000000000 +0200 ++++ misc/build/Python-2.6.1/Objects/exceptions.c 2011-06-06 17:31:17.000000000 +0200 +@@ -2157,8 +2157,6 @@ + #if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__) + /* Set CRT argument error handler */ + prevCrtHandler = _set_invalid_parameter_handler(InvalidParameterHandler); +- /* turn off assertions in debug mode */ +- prevCrtReportMode = _CrtSetReportMode(_CRT_ASSERT, 0); + #endif + } + +@@ -2170,6 +2168,5 @@ + #if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__) + /* reset CRT error handling */ + _set_invalid_parameter_handler(prevCrtHandler); +- _CrtSetReportMode(_CRT_ASSERT, prevCrtReportMode); + #endif + } +--- misc/Python-2.6.1/Lib/test/test_threading.py 2008-09-30 22:41:13.000000000 +0200 ++++ misc/build/Python-2.6.1/Lib/test/test_threading.py 2011-06-06 17:31:17.000000000 +0200 +@@ -382,7 +382,7 @@ + return + # Skip platforms with known problems forking from a worker thread. + # See http://bugs.python.org/issue3863. +- if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'os2emx'): ++ if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'os2emx'): + print >>sys.stderr, ('Skipping test_3_join_in_forked_from_thread' + ' due to known OS bugs on'), sys.platform + return +--- misc/Python-2.6.1/Modules/_ctypes/libffi/configure 2008-05-23 17:06:50.000000000 +0200 ++++ misc/build/Python-2.6.1/Modules/_ctypes/libffi/configure 2011-06-06 17:31:17.000000000 +0200 +@@ -4725,7 +4725,7 @@ + rm -rf conftest* + ;; + +-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ ++amd64-*-freebsd*|x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ + s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext +--- misc/Python-2.6.1/Python/thread_pthread.h 2006-06-13 17:04:24.000000000 +0200 ++++ misc/build/Python-2.6.1/Python/thread_pthread.h 2011-06-06 17:33:34.000000000 +0200 +@@ -26,6 +26,10 @@ + #endif + #endif + ++#ifdef __FreeBSD__ ++#include <osreldate.h> ++#endif ++ + /* The POSIX spec says that implementations supporting the sem_* + family of functions must indicate this by defining + _POSIX_SEMAPHORES. */ +@@ -44,7 +48,6 @@ + in default setting. So the process scope is preferred to get + enough number of threads to work. */ + #ifdef __FreeBSD__ +-#include <osreldate.h> + #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101 + #undef PTHREAD_SYSTEM_SCHED_SUPPORTED + #endif +@@ -149,6 +152,9 @@ + { + pthread_t th; + int status; ++#ifdef __FreeBSD__ ++ sigset_t set, oset; ++#endif + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_t attrs; + #endif +@@ -177,7 +183,10 @@ + #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM); + #endif +- ++#ifdef __FreeBSD__ ++ sigfillset(&set); ++ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset); ++#endif + status = pthread_create(&th, + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + &attrs, +@@ -188,6 +197,9 @@ + (void *)arg + ); + ++#ifdef __FreeBSD__ ++ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL); ++#endif + #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) + pthread_attr_destroy(&attrs); + #endif +--- misc/Python-2.6.1/configure 2008-11-16 18:57:10.000000000 +0100 ++++ misc/build/Python-2.6.1/configure 2011-06-06 17:31:17.000000000 +0200 +@@ -4102,7 +4102,7 @@ + ;; + SunOS*) + LDLIBRARY='libpython$(VERSION).so' +- BLDLIBRARY='-Wl,-R,$(LIBDIR) -L. -lpython$(VERSION)' ++ BLDLIBRARY=-R\'\$\$ORIGIN\'' -L. -lpython$(VERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} + INSTSONAME="$LDLIBRARY".$SOVERSION + ;; +@@ -4110,11 +4110,6 @@ + LDLIBRARY='libpython$(VERSION).so' + BLDLIBRARY='-L. -lpython$(VERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} +- case $ac_sys_system in +- FreeBSD*) +- SOVERSION=`echo $SOVERSION|cut -d "." -f 1` +- ;; +- esac + INSTSONAME="$LDLIBRARY".$SOVERSION + ;; + hp*|HP*) +--- misc/Python-2.6.1/PC/pyconfig.h 2008-06-13 02:42:22.000000000 +0200 ++++ misc/build/Python-2.6.1/PC/pyconfig.h 2011-06-06 17:31:17.000000000 +0200 +@@ -322,11 +322,7 @@ + /* So MSVC users need not specify the .lib file in + their Makefile (other compilers are generally + taken care of by distutils.) */ +-# ifdef _DEBUG +-# pragma comment(lib,"python26_d.lib") +-# else +-# pragma comment(lib,"python26.lib") +-# endif /* _DEBUG */ ++# pragma comment(lib,"python26.lib") + # endif /* _MSC_VER */ + # endif /* Py_BUILD_CORE */ + #endif /* MS_COREDLL */ diff --git a/python/Python-aix.patch b/python/Python-aix.patch new file mode 100644 index 000000000000..8dae6d1b136b --- /dev/null +++ b/python/Python-aix.patch @@ -0,0 +1,151 @@ +--- misc/Python-2.6.1/Makefile.pre.in 2010-09-10 05:00:44.000000000 -0500 ++++ misc/build/Python-2.6.1/Makefile.pre.in 2010-09-10 05:16:02.000000000 -0500 +@@ -412,7 +412,10 @@ + + libpython$(VERSION).so: $(LIBRARY_OBJS) + if test $(INSTSONAME) != $(LDLIBRARY); then \ +- $(LDSHARED) $(LDFLAGS) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ ++ if [ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" != "aix" ]; then \ ++ SONAME="-Wl,-h$(INSTSONAME)"; \ ++ fi; \ ++ $(LDSHARED) $(LDFLAGS) $(SONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ + $(LN) -f $(INSTSONAME) $@; \ + else\ + $(LDSHARED) $(LDFLAGS) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \ +@@ -907,6 +907,7 @@ + export PATH; PATH="`pwd`:$$PATH"; \ + export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \ + export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \ ++ export LIBPATH; LIBPATH="`pwd`${LIBPATH:+:$LIBPATH}"; \ + export EXE; EXE="$(BUILDEXE)"; \ + cd $(srcdir)/Lib/$(PLATDIR); ./regen + +--- misc/Python-2.6.1/Modules/Setup.dist 2010-08-19 07:03:46.000000000 -0500 ++++ misc/build/Python-2.6.1/Modules/Setup.dist 2010-08-19 07:04:11.000000000 -0500 +@@ -185,7 +185,7 @@ + #datetime datetimemodule.c # date/time type + #_bisect _bisectmodule.c # Bisection algorithms + +-#unicodedata unicodedata.c # static Unicode character database ++unicodedata unicodedata.c # static Unicode character database + + # access to ISO C locale support + #_locale _localemodule.c # -lintl +--- misc/Python-2.6.1/Modules/_ctypes/libffi/fficonfig.py.in 2010-09-11 08:50:58.000000000 -0500 ++++ misc/build/Python-2.6.1/Modules/_ctypes/libffi/fficonfig.py.in 2010-09-11 08:51:26.000000000 -0500 +@@ -14,7 +14,7 @@ + 'M32R': ['src/m32r/sysv.S', 'src/m32r/ffi.c'], + 'M68K': ['src/m68k/ffi.c', 'src/m68k/sysv.S'], + 'POWERPC': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S', 'src/powerpc/linux64.S', 'src/powerpc/linux64_closure.S'], +- 'POWERPC_AIX': ['src/powerpc/ffi.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'], ++ 'POWERPC_AIX': ['src/powerpc/ffi_darwin.c', 'src/powerpc/aix.S', 'src/powerpc/aix_closure.S'], + 'POWERPC_FREEBSD': ['src/powerpc/ffi.c', 'src/powerpc/sysv.S', 'src/powerpc/ppc_closure.S'], + 'ARM': ['src/arm/sysv.S', 'src/arm/ffi.c'], + 'LIBFFI_CRIS': ['src/cris/sysv.S', 'src/cris/ffi.c'], +--- misc/Python-2.6.1/configure.in 2010-09-11 11:06:27.000000000 -0500 ++++ misc/build/Python-2.6.1/configure.in 2010-09-11 11:25:42.000000000 -0500 +@@ -415,8 +415,6 @@ + without_gcc=$withval;; + esac], [ + case $ac_sys_system in +- AIX*) CC=cc_r +- without_gcc=;; + BeOS*) + case $BE_HOST_CPU in + ppc) +@@ -704,10 +702,18 @@ + RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} + INSTSONAME="$LDLIBRARY".$SOVERSION + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|AIX*) + LDLIBRARY='libpython$(VERSION).so' +- BLDLIBRARY='-L. -lpython$(VERSION)' +- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ case $ac_sys_system in ++ AIX*) ++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(VERSION)' ++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH} ++ ;; ++ *) ++ BLDLIBRARY='-L. -lpython$(VERSION)' ++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ ;; ++ esac + case $ac_sys_system in + FreeBSD*) + SOVERSION=`echo $SOVERSION|cut -d "." -f 1` +@@ -1607,8 +1613,13 @@ + then + case $ac_sys_system/$ac_sys_release in + AIX*) +- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" +- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ if test "$GCC" = "yes"; then ++ LDSHARED='$(CC) -shared' ++ BLDSHARED='$(CC) -Wl,-brtl -shared' ++ else ++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" ++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ fi + ;; + BeOS*) + BLDSHARED="\$(srcdir)/Modules/ld_so_beos $LDLIBRARY" +--- misc/Python-2.6.1/configure 2010-09-11 11:06:27.000000000 -0500 ++++ misc/build/Python-2.6.1/configure 2010-09-11 11:26:16.000000000 -0500 +@@ -2266,8 +2266,6 @@ + else + + case $ac_sys_system in +- AIX*) CC=cc_r +- without_gcc=;; + BeOS*) + case $BE_HOST_CPU in + ppc) +@@ -4106,10 +4104,18 @@ + RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} + INSTSONAME="$LDLIBRARY".$SOVERSION + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|AIX*) + LDLIBRARY='libpython$(VERSION).so' +- BLDLIBRARY='-L. -lpython$(VERSION)' +- RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ case $ac_sys_system in ++ AIX*) ++ BLDLIBRARY='-Wl,-brtl -L. -lpython$(VERSION)' ++ RUNSHARED=LIBPATH=`pwd`:${LIBPATH} ++ ;; ++ *) ++ BLDLIBRARY='-L. -lpython$(VERSION)' ++ RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH} ++ ;; ++ esac + INSTSONAME="$LDLIBRARY".$SOVERSION + ;; + hp*|HP*) +@@ -4525,7 +4531,7 @@ + # debug builds. + OPT="-g -Wall $STRICT_PROTO" + else +- OPT="-g $WRAP -O3 -Wall $STRICT_PROTO" ++ OPT="$WRAP -O0 -Wall $STRICT_PROTO" + fi + ;; + *) +@@ -13012,8 +13018,13 @@ + then + case $ac_sys_system/$ac_sys_release in + AIX*) +- BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" +- LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ if test "$GCC" = "yes"; then ++ LDSHARED='$(CC) -shared' ++ BLDSHARED='$(CC) -Wl,-brtl -shared' ++ else ++ BLDSHARED="\$(srcdir)/Modules/ld_so_aix \$(CC) -bI:Modules/python.exp" ++ LDSHARED="\$(BINLIBDEST)/config/ld_so_aix \$(CC) -bI:\$(BINLIBDEST)/config/python.exp" ++ fi + ;; + BeOS*) + BLDSHARED="\$(srcdir)/Modules/ld_so_beos $LDLIBRARY" diff --git a/python/Python-parallel-make.patch b/python/Python-parallel-make.patch new file mode 100644 index 000000000000..81ce8dabe35b --- /dev/null +++ b/python/Python-parallel-make.patch @@ -0,0 +1,36 @@ +--- misc/Python-2.6.1/Makefile.pre.in.fix-parallel-make 2010-07-22 15:01:39.567996932 -0400 ++++ misc/build/Python-2.6.1/Makefile.pre.in 2010-07-22 15:47:02.437998509 -0400 +@@ -207,6 +207,7 @@ SIGNAL_OBJS= @SIGNAL_OBJS@ + + ########################################################################## + # Grammar ++GRAMMAR_STAMP= $(srcdir)/grammar-stamp + GRAMMAR_H= $(srcdir)/Include/graminit.h + GRAMMAR_C= $(srcdir)/Python/graminit.c + GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar +@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get + Modules/python.o: $(srcdir)/Modules/python.c + $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c + ++# GNU "make" interprets rules with two dependents as two copies of the rule. ++# ++# In a parallel build this can lead to pgen being run twice, once for each of ++# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler ++# reads a partially-overwritten copy of one of these files, leading to syntax ++# errors (or linker errors if the fragment happens to be syntactically valid C) ++# ++# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html ++# for more information ++# ++# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid ++# this: ++$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP) + +-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) ++$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT) + -@$(INSTALL) -d Include + -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++ touch $(GRAMMAR_STAMP) + + $(PGEN): $(PGENOBJS) + $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) diff --git a/python/Python-ssl.patch b/python/Python-ssl.patch new file mode 100644 index 000000000000..e60fafab8f3e --- /dev/null +++ b/python/Python-ssl.patch @@ -0,0 +1,205 @@ +--- misc/Python-2.6.1/PCbuild/build_ssl.py 2009-11-02 08:24:35.140625000 +0000 ++++ misc/build/Python-2.6.1/PCbuild/build_ssl.py 2009-11-02 08:25:11.750000000 +0000 +@@ -255,4 +255,4 @@ + sys.exit(rc) + + if __name__=='__main__': +- main() ++ sys.exit(0) +--- misc/Python-2.6.1/PCbuild/_ssl.vcproj 2009-11-02 08:24:35.140625000 +0000 ++++ misc/build/Python-2.6.1/PCbuild/_ssl.vcproj 2009-11-02 08:24:35.140625000 +0000 +@@ -43,7 +43,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc32" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -57,7 +57,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out32\libeay32.lib $(opensslDir)\out32\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -106,7 +106,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc64" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -120,7 +120,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out64\libeay32.lib $(opensslDir)\out64\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -169,7 +169,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc32" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -183,7 +183,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out32\libeay32.lib $(opensslDir)\out32\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -233,7 +233,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc64" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -247,7 +247,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out64\libeay32.lib $(opensslDir)\out64\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -296,7 +296,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc32" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -310,7 +310,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out32\libeay32.lib $(opensslDir)\out32\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -360,7 +360,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc64" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -374,7 +374,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out64\libeay32.lib $(opensslDir)\out64\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + TargetMachine="17" + /> + <Tool +@@ -424,7 +424,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc32" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -438,7 +438,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out32\libeay32.lib $(opensslDir)\out32\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + /> + <Tool + Name="VCALinkTool" +@@ -488,7 +488,7 @@ + /> + <Tool + Name="VCCLCompilerTool" +- AdditionalIncludeDirectories="$(opensslDir)\inc64" ++ AdditionalIncludeDirectories="$(SOLARVERSION)\$(INPATH)\inc\external" + /> + <Tool + Name="VCManagedResourceCompilerTool" +@@ -502,7 +502,7 @@ + /> + <Tool + Name="VCLinkerTool" +- AdditionalDependencies="ws2_32.lib $(opensslDir)\out64\libeay32.lib $(opensslDir)\out64\ssleay32.lib" ++ AdditionalDependencies="ws2_32.lib $(SOLARVER)\$(INPATH)\lib\libeay32.lib $(SOLARVER)\$(INPATH)\lib\ssleay32.lib" + TargetMachine="17" + /> + <Tool +--- misc/Python-2.6.1/setup.py 2009-11-02 10:12:43.000000000 +0000 ++++ misc/build/Python-2.6.1/setup.py 2009-11-02 10:18:19.000000000 +0000 +@@ -612,7 +612,12 @@ + exts.append( Extension('_socket', ['socketmodule.c'], + depends = ['socketmodule.h']) ) + # Detect SSL support for the socket module (via _ssl) ++ ooosslinc = os.environ.get('SOLARVERSION') + '/' + \ ++ os.environ.get('INPATH') + '/' + \ ++ 'inc' ++ ooosslinc = ooosslinc + '/external/' + search_for_ssl_incs_in = [ ++ ooosslinc, + '/usr/local/ssl/include', + '/usr/contrib/ssl/include/' + ] +@@ -624,8 +632,13 @@ + ['/usr/kerberos/include']) + if krb5_h: + ssl_incs += krb5_h ++ ooossllib = os.environ.get('SOLARVER') + '/' + \ ++ os.environ.get('INPATH') + '/' + \ ++ 'lib' ++ ooosslinc = ooosslinc + '/' + ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, +- ['/usr/local/ssl/lib', ++ [ooossllib, ++ '/usr/local/ssl/lib', + '/usr/contrib/ssl/lib/' + ] ) + +--- misc/Python-2.6.1/Modules/Setup.dist 2009-12-17 15:16:50.000000000 +0000 ++++ misc/build/Python-2.6.1/Modules/Setup.dist 2009-12-17 15:17:49.000000000 +0000 +@@ -248,14 +248,14 @@ + # Message-Digest Algorithm, described in RFC 1321. The necessary files + # md5.c and md5.h are included here. + +-#_md5 md5module.c md5.c ++_md5 md5module.c md5.c + + + # The _sha module implements the SHA checksum algorithms. + # (NIST's Secure Hash Algorithms.) +-#_sha shamodule.c +-#_sha256 sha256module.c +-#_sha512 sha512module.c ++_sha shamodule.c ++_sha256 sha256module.c ++_sha512 sha512module.c + + + # SGI IRIX specific modules -- off by default. diff --git a/python/makefile.mk b/python/makefile.mk new file mode 100644 index 000000000000..4f50ed3bcccf --- /dev/null +++ b/python/makefile.mk @@ -0,0 +1,241 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=so_python +TARGET=so_python + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +.IF "$(DISABLE_PYTHON)"!="TRUE" + +.INCLUDE : pyversion.mk + +.IF "$(SYSTEM_PYTHON)" == "YES" +all: + @echo "An already available installation of python should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=Python-$(PYVERSION) +TARFILE_MD5=e81c2f0953aa60f8062c05a4673f2be0 +PATCH_FILES=\ + Python-$(PYVERSION).patch \ + Python-parallel-make.patch \ + Python-ssl.patch \ + Python-aix.patch \ + Python-2.6.1-urllib.patch \ + Python-2.6.1-sysbase.patch \ + Python-2.6.1-nohardlink.patch \ + Python-2.6.1-py2422.patch \ + Python-2.6.1-py4768.patch + +CONFIGURE_DIR= + +.IF "$(GUI)"=="UNX" +BUILD_DIR= +MYCWD=$(shell @pwd)/$(INPATH)/misc/build + +# CLFLAGS get overwritten in Makefile.pre.in +.IF "$(SYSBASE)"!="" +CC+:=-I$(SYSBASE)$/usr$/include +python_LDFLAGS+=-L$(SYSBASE)/usr/lib +.IF "$(COMNAME)"=="sunpro5" +CC+:=$(C_RESTRICTIONFLAGS) +.ENDIF # "$(COMNAME)"=="sunpro5" +.ENDIF # "$(SYSBASE)"!="" + +.IF "$(OS)$(CPU)"=="SOLARISU" +CC+:=$(ARCH_FLAGS) +python_LDFLAGS+=$(ARCH_FLAGS) +.ENDIF + +.IF "$(OS)"=="AIX" +python_CFLAGS=-g0 +.ENDIF + +CONFIGURE_ACTION=$(AUGMENT_LIBRARY_PATH) ./configure --prefix=/python-inst --enable-shared CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)" + +.IF "$(OS)$(CPU)" == "SOLARISI" +CONFIGURE_ACTION += --disable-ipv6 +.ENDIF + +.IF "$(OS)" == "MACOSX" +PATCH_FILES+=Python-2.6.1-py8067.patch Python-2.6.1-dylib_dynload.patch +# don't build dual-arch version as OOo itself is not universal binary either +PATCH_FILES+=Python-2.6.1-arch_$(eq,$(CPU),I i386 ppc).patch + +CONFIGURE_ACTION+=--enable-universalsdk=$(MACOSX_SDK_PATH) --with-universal-archs=32-bit --enable-framework=/python-inst --with-framework-name=OOoPython +ALLTAR: $(MISC)/OOoPython.framework.zip + +.ENDIF + +.IF "$(OS)"=="AIX" +CONFIGURE_ACTION += --disable-ipv6 --with-threads +.ENDIF +BUILD_ACTION=$(ENV_BUILD) $(GNUMAKE) -j$(EXTMAXPROCESS) && $(GNUMAKE) install DESTDIR=$(MYCWD) && chmod -R ug+w $(MYCWD)/python-inst && chmod g+w Include +.ELSE +# ---------------------------------- +# WINDOWS +# ---------------------------------- +.IF "$(COM)"=="GCC" +PATCH_FILES=Python-$(PYVERSION)-mingw.patch +BUILD_DIR= +MYCWD=$(shell cygpath -m $(shell @pwd))/$(INPATH)/misc/build +python_CFLAGS=-mno-cygwin -mthreads +python_LDFLAGS=-mno-cygwin -mthreads +.IF "$(MINGW_SHARED_GCCLIB)"=="YES" +python_LDFLAGS+=-shared-libgcc +.ENDIF +python_LDFLAGS+=-shared-libgcc -Wl,--enable-runtime-pseudo-reloc-v2 +CONFIGURE_ACTION=./configure --prefix=$(MYCWD)/python-inst --enable-shared CC="$(CC:s/guw.exe //)" CXX="$(CXX:s/guw.exe //)" MACHDEP=MINGW32 LN="cp -p" CFLAGS="$(python_CFLAGS)" LDFLAGS="$(python_LDFLAGS)" +BUILD_ACTION=$(ENV_BUILD) make && make install +.ELSE + +.IF "$(CCNUMVER)" >= "001600000000" +PATCH_FILES+=Python-$(PYVERSION)-vc10.patch +BUILD_DIR=PC/VS10.0 +.ELIF "$(CCNUMVER)" >= "001500000000" +BUILD_DIR=PCbuild +.ELIF "$(CCNUMVER)" >= "001400000000" +BUILD_DIR=PC/VS8.0 +.ELIF "$(CCNUMVER)" >= "001310000000" +BUILD_DIR=PC/VS7.1 +.ELSE +BUILD_DIR=PC/VC6 +.ENDIF + +.IF "$(CPU)" == "I" +ARCH=Win32 +.ELSE +ARCH=x64 +.ENDIF + +.IF "$(debug)"!="" +CONF=Debug +.ELSE +CONF=Release +.ENDIF + +# Build python executable and then runs a minimal script. Running the minimal script +# ensures that certain *.pyc files are generated which would otherwise be created on +# solver during registration in insetoo_native +.IF "$(CCNUMVER)" >= "001600000000" +BUILD_ACTION=MSBuild.exe pcbuild.sln /t:Build /p:Configuration=$(CONF) /ToolsVersion:4.0 +.ELSE +BUILD_ACTION=$(COMPATH)$/vcpackages$/vcbuild.exe pcbuild.sln "$(CONF)|$(ARCH)" +.ENDIF +.ENDIF +.ENDIF + +PYVERSIONFILE=$(MISC)$/pyversion.mk + +# --- Targets ------------------------------------------------------ + + +.INCLUDE : set_ext.mk +.ENDIF # DISABLE_PYTHON != TRUE +.INCLUDE : target.mk +.IF "$(DISABLE_PYTHON)"!="TRUE" +.INCLUDE : tg_ext.mk + +.IF "$(L10N_framework)"=="" +.IF "$(GUI)" != "UNX" +.IF "$(COM)"!="GCC" +PYCONFIG:=$(MISC)$/build$/pyconfig.h +$(MISC)$/build$/$(TARFILE_NAME)$/PC$/pyconfig.h : $(PACKAGE_DIR)$/$(CONFIGURE_FLAG_FILE) + +$(PACKAGE_DIR)$/$(BUILD_FLAG_FILE) : $(PYCONFIG) + +$(PYCONFIG) : $(MISC)$/build$/$(TARFILE_NAME)$/PC$/pyconfig.h + -rm -f $@ + cat $(MISC)$/build$/$(TARFILE_NAME)$/PC$/pyconfig.h > $@ +# We know that the only thing guarded with #ifdef _DEBUG in PC/pyconfig.h is +# the line defining Py_DEBUG. +.IF "$(debug)"!="" +# If Python is built with debugging, then the modules we build need to be built with +# Py_DEBUG defined too because of the Py_InitModule4 redefining magic in modsupport.h + sed -e 's/^#ifdef _DEBUG$/#if 1/' <$@ >$@.new && mv $@.new $@ +.ELSE +# Correspondingly, if Python is not built with debugging, it won't use the Py_InitModule4 redefining +# magic, so our Python modules should not be built to provide that either. + sed -e 's/^#ifdef _DEBUG$/#if 0/' <$@ >$@.new && mv $@.new $@ +.ENDIF +.ENDIF +.ENDIF + +ALLTAR : $(PYVERSIONFILE) +.ENDIF # "$(L10N_framework)"=="" + +# rule to allow relocating the whole framework, removing reference to buildinstallation directory +$(PACKAGE_DIR)/fixscripts: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @echo remove build installdir from scripts + $(COMMAND_ECHO)for file in \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/2to3 \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/idle$(PYMAJOR).$(PYMINOR) \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/pydoc$(PYMAJOR).$(PYMINOR) \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/python$(PYMAJOR).$(PYMINOR)-config \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/bin/smtpd$(PYMAJOR).$(PYMINOR).py ; do \ + {{ rm "$$file" && awk '\ + BEGIN {{print "\ +#!/bin/bash\n\ +origpath=$$(pwd)\n\ +bindir=$$(cd $$(dirname \"$$0\") ; pwd)\n\ +cd \"$$origpath\"\n\ +\"$$bindir/../Resources/Python.app/Contents/MacOS/OOoPython\" - $$@ <<EOF"}} \ + FNR==1{{next}} \ + {{print}} \ + END {{print "EOF"}}' > "$$file" ; }} < "$$file" ; chmod +x "$$file" ; done + @touch $@ + +$(PACKAGE_DIR)/fixinstallnames: $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @echo remove build installdir from OOoPython + $(COMMAND_ECHO)install_name_tool -change \ + /python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/OOoPython \ + @executable_path/../../../../OOoPython \ + $(MYCWD)/python-inst/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/Resources/Python.app/Contents/MacOS/OOoPython + @touch $@ + +$(MISC)/OOoPython.framework.zip: $(PACKAGE_DIR)/fixinstallnames $(PACKAGE_DIR)/fixscripts + @-rm -f $@ + @echo creating $@ + $(COMMAND_ECHO)cd $(MISC)/build/python-inst && find OOoPython.framework \ + -not -type l -not -name Info.plist.in \ + -not -name pythonw$(PYMAJOR).$(PYMINOR) \ + -not -name python$(PYMAJOR).$(PYMINOR) -print0 | \ + xargs -0 zip $(ZIP_VERBOSITY) ../../$(@:f) + +$(PYVERSIONFILE) : pyversion.mk $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @-rm -f $@ + $(COMMAND_ECHO)$(COPY) pyversion.mk $@ + +.ENDIF # DISABLE_PYTHON != TRUE diff --git a/python/prj/build.lst b/python/prj/build.lst new file mode 100644 index 000000000000..d79a8f7cf00d --- /dev/null +++ b/python/prj/build.lst @@ -0,0 +1,3 @@ +py python : solenv OPENSSL:openssl NULL +py python nmake - w,vc7 py_mkout NULL +py python nmake - u py_mkout NULL diff --git a/python/prj/d.lst b/python/prj/d.lst new file mode 100644 index 000000000000..749515037664 --- /dev/null +++ b/python/prj/d.lst @@ -0,0 +1,171 @@ +# MACOSX - start +mkdir: %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6 + +..\%__SRC%\misc\build\python-inst\OOoPython.framework\OOoPython %_DEST%\lib\OOoPython.framework\OOoPython +..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\* +..\%__SRC%\misc\build\python-inst\OOoPython.framework\Versions\2.6\include\python2.6\* %_DEST%\lib\OOoPython.framework\Versions\2.6\include\python2.6\* +..\%__SRC%\misc\OOoPython.framework.zip %_DEST%\bin\OOoPython.framework.zip +# MACOSX - end + +..\%__SRC%\misc\pyversion.mk %_DEST%\inc\pyversion.mk + +mkdir: %_DEST%\lib\python +mkdir: %_DEST%\lib\python\lib-old +mkdir: %_DEST%\lib\python\lib-tk +mkdir: %_DEST%\lib\python\site-packages +mkdir: %_DEST%\lib\python\encodings +mkdir: %_DEST%\lib\python\email +mkdir: %_DEST%\lib\python\email\mime +mkdir: %_DEST%\lib\python\compiler +mkdir: %_DEST%\lib\python\hotshot +mkdir: %_DEST%\lib\python\distutils +mkdir: %_DEST%\lib\python\distutils\command +mkdir: %_DEST%\lib\python\xml +mkdir: %_DEST%\lib\python\xml\dom +mkdir: %_DEST%\lib\python\xml\parsers +mkdir: %_DEST%\lib\python\xml\sax +mkdir: %_DEST%\lib\python\xml\etree +mkdir: %_DEST%\lib\python\curses +mkdir: %_DEST%\lib\python\plat-linux2 +mkdir: %_DEST%\lib\python\plat-aix5 +mkdir: %_DEST%\lib\python\plat-aix6 +mkdir: %_DEST%\lib\python\plat-aix7 +mkdir: %_DEST%\lib\python\config +mkdir: %_DEST%\lib\python\lib-dynload +mkdir: %_DEST%\lib\python\bsddb +mkdir: %_DEST%\lib\python\logging +mkdir: %_DEST%\lib\python\idlelib +mkdir: %_DEST%\lib\python\idlelib\Icons +mkdir: %_DEST%\lib\python\wsgiref +mkdir: %_DEST%\lib\python\json +mkdir: %_DEST%\lib\python\lib2to3 +mkdir: %_DEST%\lib\python\lib2to3\fixes +mkdir: %_DEST%\lib\python\lib2to3\pgen2 +mkdir: %_DEST%\lib\python\sqlite3 +mkdir: %_DEST%\lib\python\ctypes +mkdir: %_DEST%\lib\python\ctypes\macholib + +..\%__SRC%\misc\build\Python-2.6.1\Lib\* %_DEST%\lib\python\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\lib-old\* %_DEST%\lib\python\lib-old\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\lib-tk\* %_DEST%\lib\python\lib-tk\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\site-packages\* %_DEST%\lib\python\site-packages\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\encodings\* %_DEST%\lib\python\encodings\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\email\* %_DEST%\lib\python\email\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\email\mime\* %_DEST%\lib\python\email\mime\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\compiler\* %_DEST%\lib\python\compiler\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\hotshot\* %_DEST%\lib\python\hotshot\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\distutils\* %_DEST%\lib\python\distutils\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\distutils\command\* %_DEST%\lib\python\distutils\command\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\xml\* %_DEST%\lib\python\xml\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\xml\dom\* %_DEST%\lib\python\xml\dom\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\xml\parsers\* %_DEST%\lib\python\xml\parsers\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\xml\sax\* %_DEST%\lib\python\xml\sax\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\curses\* %_DEST%\lib\python\curses\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\plat-linux2\* %_DEST%\lib\python\plat-linux2\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\plat-aix5\* %_DEST%\lib\python\plat-aix5\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\plat-aix6\* %_DEST%\lib\python\plat-aix6\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\plat-aix7\* %_DEST%\lib\python\plat-aix7\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\config\* %_DEST%\lib\python\config\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\bsddb\* %_DEST%\lib\python\bsddb\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\logging\* %_DEST%\lib\python\logging\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\idlelib\* %_DEST%\lib\python\idlelib\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\idlelib\Icons\* %_DEST%\lib\python\idlelib\Icons\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\wsgiref\* %_DEST%\lib\python\wsgiref\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\json\* %_DEST%\lib\python\json\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\lib2to3\* %_DEST%\lib\python\lib2to3\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\lib2to3\fixes\* %_DEST%\lib\python\lib2to3\fixes\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\lib2to3\pgen2\* %_DEST%\lib\python\lib2to3\pgen2\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\sqlite3\* %_DEST%\lib\python\sqlite3\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\ctypes\* %_DEST%\lib\python\ctypes\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\ctypes\macholib\* %_DEST%\lib\python\ctypes\macholib\* +..\%__SRC%\misc\build\Python-2.6.1\Lib\xml\etree\* %_DEST%\lib\python\xml\etree + +..\%__SRC%\misc\build\Python-2.6.1\Include\* %_DEST%\inc\python\* + +#unix ONLY ! +..\%__SRC%\misc\build\python-inst\bin\python %_DEST%\bin\python +..\%__SRC%\misc\build\Python-2.6.1\pyconfig.h %_DEST%\inc\python\pyconfig.h +..\%__SRC%\misc\build\python-inst\lib\python2.6\lib-dynload\* %_DEST%\lib\python\lib-dynload\* +..\%__SRC%\misc\build\python-inst\bin\python2.6 %_DEST%\bin\python +..\%__SRC%\misc\build\python-inst\lib\libpython2.6.so.1.0 %_DEST%\lib\libpython2.6.so.1.0 +symlink: %_DEST%\lib\libpython2.6.so.1.0 %_DEST%\lib\libpython2.6.so + +#MingW ONLY ! +..\%__SRC%\misc\build\python-inst\bin\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\libpython2.6.dll %_DEST%\bin\libpython2.6.dll + +# WINDOWS ONLY ! +..\%__SRC%\misc\build\pyconfig.h %_DEST%\inc\python\pyconfig.h +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\python26.dll %_DEST%\bin\python26.dll +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\python26.lib %_DEST%\lib\python26.lib +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_socket.pyd %_DEST%\lib\python\_socket.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_ssl.pyd %_DEST%\lib\python\_ssl.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\select.pyd %_DEST%\lib\python\select.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\unicodedata.pyd %_DEST%\lib\python\unicodedata.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\winsound.pyd %_DEST%\lib\python\winsound.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\pyexpat.pyd %_DEST%\lib\python\pyexpat.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_testcapi.pyd %_DEST%\lib\python\_testcapi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_multiprocessing.pyd %_DEST%\lib\python\_multiprocessing.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_msi.pyd %_DEST%\lib\python\_msi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_elementtree.pyd %_DEST%\lib\python\_elementtree.pyd +..\%__SRC%\misc\build\Python-2.6.1\PCbuild\_ctypes.pyd %_DEST%\lib\python\_ctypes.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\python26.dll %_DEST%\bin\python26.dll +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\python26.lib %_DEST%\lib\python26.lib +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_socket.pyd %_DEST%\lib\python\_socket.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_ssl.pyd %_DEST%\lib\python\_ssl.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\select.pyd %_DEST%\lib\python\select.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\unicodedata.pyd %_DEST%\lib\python\unicodedata.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\winsound.pyd %_DEST%\lib\python\winsound.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\pyexpat.pyd %_DEST%\lib\python\pyexpat.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_testcapi.pyd %_DEST%\lib\python\_testcapi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_multiprocessing.pyd %_DEST%\lib\python\_multiprocessing.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_msi.pyd %_DEST%\lib\python\_msi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_elementtree.pyd %_DEST%\lib\python\_elementtree.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS10.0\_ctypes.pyd %_DEST%\lib\python\_ctypes.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\python26.dll %_DEST%\bin\python26.dll +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\python26.lib %_DEST%\lib\python26.lib +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_socket.pyd %_DEST%\lib\python\_socket.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_ssl.pyd %_DEST%\lib\python\_ssl.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\select.pyd %_DEST%\lib\python\select.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\unicodedata.pyd %_DEST%\lib\python\unicodedata.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\winsound.pyd %_DEST%\lib\python\winsound.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\pyexpat.pyd %_DEST%\lib\python\pyexpat.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_testcapi.pyd %_DEST%\lib\python\_testcapi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_multiprocessing.pyd %_DEST%\lib\python\_multiprocessing.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_msi.pyd %_DEST%\lib\python\_msi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_elementtree.pyd %_DEST%\lib\python\_elementtree.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS8.0\_ctypes.pyd %_DEST%\lib\python\_ctypes.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\python26.dll %_DEST%\bin\python26.dll +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\python26.lib %_DEST%\lib\python26.lib +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_socket.pyd %_DEST%\lib\python\_socket.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_ssl.pyd %_DEST%\lib\python\_ssl.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\select.pyd %_DEST%\lib\python\select.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\unicodedata.pyd %_DEST%\lib\python\unicodedata.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\winsound.pyd %_DEST%\lib\python\winsound.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\pyexpat.pyd %_DEST%\lib\python\pyexpat.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_testcapi.pyd %_DEST%\lib\python\_testcapi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_multiprocessing.pyd %_DEST%\lib\python\_multiprocessing.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_msi.pyd %_DEST%\lib\python\_msi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_elementtree.pyd %_DEST%\lib\python\_elementtree.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VS7.1\_ctypes.pyd %_DEST%\lib\python\_ctypes.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\python.exe %_DEST%\bin\python.exe +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\python26.dll %_DEST%\bin\python26.dll +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\python26.lib %_DEST%\lib\python26.lib +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_socket.pyd %_DEST%\lib\python\_socket.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_ssl.pyd %_DEST%\lib\python\_ssl.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\select.pyd %_DEST%\lib\python\select.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\unicodedata.pyd %_DEST%\lib\python\unicodedata.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\winsound.pyd %_DEST%\lib\python\winsound.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\pyexpat.pyd %_DEST%\lib\python\pyexpat.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_testcapi.pyd %_DEST%\lib\python\_testcapi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_multiprocessing.pyd %_DEST%\lib\python\_multiprocessing.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_msi.pyd %_DEST%\lib\python\_msi.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_elementtree.pyd %_DEST%\lib\python\_elementtree.pyd +..\%__SRC%\misc\build\Python-2.6.1\PC\VC6\_ctypes.pyd %_DEST%\lib\python\_ctypes.pyd + +#linklib: libpython.so.*.*.* + diff --git a/python/pyversion.mk b/python/pyversion.mk new file mode 100644 index 000000000000..97c904f2ab79 --- /dev/null +++ b/python/pyversion.mk @@ -0,0 +1,25 @@ +# when you want to change the python version, you must update the d.lst +# in the python project accordingly !!! +PYMAJOR=2 +PYMINOR=6 +PYMICRO=1 +PYVERSION=$(PYMAJOR).$(PYMINOR).$(PYMICRO) + +.IF "$(GUI)" == "UNX" +.IF "$(OS)" == "MACOSX" +PY_FULL_DLL_NAME=libpython$(PYMAJOR).$(PYMINOR).a +PYTHONLIB=-F$(SOLARLIBDIR) -framework OOoPython +CFLAGS+=-I$(SOLARLIBDIR)/OOoPython.framework/Versions/$(PYMAJOR).$(PYMINOR)/include/python$(PYMAJOR).$(PYMINOR) +.ELSE +PY_FULL_DLL_NAME=libpython$(PYMAJOR).$(PYMINOR).so.1.0 +PYTHONLIB=-lpython$(PYMAJOR).$(PYMINOR) +.ENDIF +.ELSE +.IF "$(COM)" == "GCC" +PY_FULL_DLL_NAME=libpython$(PYMAJOR).$(PYMINOR).dll +PYTHONLIB=-lpython$(PYMAJOR).$(PYMINOR) +.ELSE +PY_FULL_DLL_NAME=python$(PYMAJOR)$(PYMINOR).dll +PYTHONLIB=python$(PYMAJOR)$(PYMINOR).lib +.ENDIF +.ENDIF diff --git a/saxon/makefile.mk b/saxon/makefile.mk new file mode 100644 index 000000000000..e73eced80288 --- /dev/null +++ b/saxon/makefile.mk @@ -0,0 +1,69 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=saxon +TARGET=saxon + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +.IF "$(SYSTEM_SAXON)" == "YES" +all: + @echo "An already available installation of saxon should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=source-9.0.0.7-bj +TARFILE_MD5=ada24d37d8d638b3d8a9985e80bc2978 +ADDITIONAL_FILES=build.xml +TARFILE_ROOTDIR=src + +PATCH_FILES=saxon-9.0.0.7-bj.patch + +BUILD_ACTION=$(ANT) $(ANT_FLAGS) -Dsolarbindir=$(SOLARBINDIR) jar-bj + +OUT2CLASS= saxon-build$/9.0.0.7$/bj$/saxon9.jar + +.ELSE # $(SOLAR_JAVA)!= "" +nojava: + @echo "Not building $(PRJNAME) because Java is disabled" +.ENDIF # $(SOLAR_JAVA)!= "" +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/saxon/prj/build.lst b/saxon/prj/build.lst new file mode 100644 index 000000000000..813097c66d90 --- /dev/null +++ b/saxon/prj/build.lst @@ -0,0 +1,2 @@ +xx saxon : solenv stax NULL +xx saxon nmake - all xx_saxon NULL diff --git a/saxon/prj/d.lst b/saxon/prj/d.lst new file mode 100644 index 000000000000..0793dadfcfb1 --- /dev/null +++ b/saxon/prj/d.lst @@ -0,0 +1 @@ +..\%__SRC%\class\saxon9.jar %_DEST%\bin\saxon9.jar diff --git a/saxon/saxon-9.0.0.7-bj.patch b/saxon/saxon-9.0.0.7-bj.patch new file mode 100644 index 000000000000..11d30914e985 --- /dev/null +++ b/saxon/saxon-9.0.0.7-bj.patch @@ -0,0 +1,1031 @@ +--- misc/src/build.xml 2008-07-11 12:11:50.079281000 +0200 ++++ misc/build/src/build.xml 2008-07-11 12:17:29.848740000 +0200 +@@ -1 +1,1027 @@ +-dummy ++<?xml version="1.0" encoding="UTF-8"?> ++ ++<project basedir="." default="all" name="Saxon-B The XSLT and XQuery Processor" ++ xmlns:dn="antlib:org.apache.ant.dotnet"> ++ ++ ++ <!-- TODO *really* Must publish NOTICES directory with patch releases. Should also ++ publish doc directory, and add a notice concerning Saxon/MPL itself, as per section 3.6 of MPL 1.0 --> ++ ++ <!--TODO: 1: ensure saxon9api.netmodule is included in the build ++ 2: remove the archive target before shipping this file--> ++ ++ <!-- note : Ant 1.7 is needed for this script --> ++ ++ <!-- Ant 1.7 introduces a <service> element to allow META-INF/services ++ directories to be created in JAR files. Unfortunately it is broken, ++ see http://issues.apache.org/bugzilla/show_bug.cgi?id=41201. The relevant ++ code here is retained in the form of comments, and can be reinstated ++ when the bug is fixed. Meanwhile the directories are created manually --> ++ ++ <!-- Build file for Saxon. This builds all four for the released products: ++ Saxon-B and Saxon-SA, on both the Java and .NET platforms. It also builds ++ the released resources file. A full build requires access to Saxonica ++ proprietary source code. The open source Saxon-B product can be built for ++ Java using target "bj"; but building Saxon-B for .NET may require some ++ disentangling of tasks that depend on Saxon-SA being present. --> ++ ++ <!-- Useful targets: ++ ++ clean clears temporary directories ++ bj builds executables for Saxon-B ++ saj builds executables for Saxon-B and Saxon-SA ++ n builds executables for Saxon on .NET ++ build builds all executables ++ resources builds samples and documentation ++ release builds ZIP files for published downloads ++ archive produces a back-up archive --> ++ ++ ++ <!-- Naming conventions: ++ -n : .NET ++ -j : Java ++ -b : Saxon-B ++ -sa : Saxon-SA ++ combined as appropriate, so -bj denotes Saxon-B on the Java platform ++ --> ++ ++ <property name="version" value="9.0.0.7"/> ++ <property name="versionh" value="9-0-0-7"/> ++ <property name="release.date" value="2008-07-03"/> ++ ++ <!-- following locations are specific to the machine --> ++ ++ <!-- root drive for input files--> ++ <property name="root" value="."/> ++ ++ <!-- root drive for generated files--> ++ <property name="troot" value="."/> ++ ++ <!-- directory holding Java source code --> ++ <property name="development-j.dir" value="${root}/MyJava/saxon8.x"/> ++ ++ <!-- directory holding Java source code as in Subversion --> ++ <property name="subversion-j.dir" value="${root}"/> ++ ++ <!-- directory holding latest patch state of Saxon-SA Java code --> ++ <property name="saj-patch.dir" value="${root}/saxon-90-patch"/> ++ ++ <!-- directory holding Java test drivers --> ++ <property name="drivers-j.dir" value="${root}/MyJava/test"/> ++ ++ <!-- directories holding C# source code --> ++ <property name="vss-n.dir" value="${root}/Documents and Settings/Mike/My Documents/Visual Studio 2005/Projects/Saxon.Api"/> ++ ++ <!-- directory holding C# source code as in Subversion --> ++ <property name="subversion-n.dir" value="${root}/saxon-svn/latest9.0/bn/csource"/> ++ ++ <!-- directory holding XML user documentation --> ++ <property name="userdoc.dir" value="${root}/MyJava/doc/saxon8"/> ++ ++ <!-- directory holding .NET API documentation (which is built manually using NDOC --> ++ <property name="dotnetdoc.dir" value="${root}/MyDotNet/dotnetdoc"/> ++ ++ <!-- directories holding use cases and sample applications --> ++ <property name="usercases.dir" value="${root}/MyJava/use-cases"/> ++ <property name="samples.dir" value="${root}/MyJava/samples"/> ++ ++ <!-- directory in which to build the product for release --> ++ <property name="product.dir" value="${troot}/saxon-build/${version}"/> ++ ++ <!-- directory in which to build the issued .ZIP files --> ++ <property name="issue.dir" value="${troot}/saxon-issues/saxon-issue-${release.date} (${version})"/> ++ ++ <!-- location of the C# compiler --> ++ <property name="csharp.compiler" value="c:/Windows/Microsoft.NET/Framework/v1.1.4322/csc.exe"/> ++ ++ ++ <!-- following locations are for IKVMC code used to build the .NET product --> ++ ++ <property name="development-ikvm.dir" value="${root}/MyDotNet"/> ++ <property name="ikvm.dir" value="${development-ikvm.dir}/ikvm-0.32.0.0"/> ++ <property name="generated.stubs.dir" value="${development-ikvm.dir}/stubs"/> ++ <property name="saxondotnet.snk" value="${development-ikvm.dir}/make/saxondotnet.snk"/> ++ ++ <!-- Precondition for .NET compilation: IKVM is installed. ++ * Download from www.ikvm.net ++ * Unzip into ${development-ikvm.dir} ++ * Register in the GAC (access the Microsoft .NET Framework Configuration item in the ++ Windows Control Panel, and add the assemblies to the Assembly Cache. ++ At a minimum, install the IKVM.GNU.Classpath.dll and IKVM.Runtime.dll) ++ * Generate stubs in ${generated.stubs.dir} ++ for System.Xml.dll, System.Security.dll, and IKVM.GNU.Classpath.dll ++ --> ++ ++ <!-- following locations are relative to the build file --> ++ ++ <property name="lib.dir" value="libs"/> ++ <property name="temp.dir" value="temp"/> ++ <property name="archive.dir" value="archive"/> ++ <property name="services.dir" value="services"/> ++ <property name="temp-src-j.dir" value="${temp.dir}/j/source"/> ++ <property name="temp-src-nj.dir" value="${temp.dir}/n/jsource"/> ++ <property name="temp-src-nc.dir" value="${temp.dir}/n/csource"/> ++ <property name="classes-j.dir" value="${temp.dir}/j/classes"/> ++ <property name="classes-n.dir" value="${temp.dir}/n/classes"/> ++ <property name="jar-n.dir" value="${temp.dir}/n/jar"/> ++ <property name="dll-n.dir" value="${temp.dir}/n/dll"/> ++ ++ <!-- following locations are relative to the destination directory --> ++ ++ <property name="build-bj.dir" value="${product.dir}/bj"/> ++ <property name="build-saj.dir" value="${product.dir}/saj"/> ++ <property name="build-bn.dir" value="${product.dir}/bn"/> ++ <property name="build-san.dir" value="${product.dir}/san"/> ++ <property name="build-resources.dir" value="${product.dir}/resources"/> ++ <property name="javadoc.dir" value="${build-resources.dir}/doc/javadoc"/> ++ ++ ++ <property name="build.debug" value="true"/> ++ <property name="build.debuglevel" value="source,lines,vars"/> ++ <property name="build.deprecation" value="true"/> ++ <property name="build.optimize" value="true"/> ++ <property name="build.compiler.source" value="1.4"/> ++ <property name="build.compiler.target" value="1.4"/> ++ <property name="build.s9api.compiler.source" value="1.5"/> ++ <property name="build.s9api.compiler.target" value="1.5"/> ++ <property name="build.compress" value="false"/> ++ ++ <!-- following properties can be switched to determine whether to build from patch source ++ or from development source --> ++ ++ <!-- patch source --> ++ ++ <property name="source-bj.dir" value="${subversion-j.dir}"/> ++ <property name="source-saj.dir" value="${saj-patch.dir}"/> ++ <property name="source-api-n.dir" value="${subversion-n.dir}/api/Saxon.Api"/> ++ <property name="source-cmd-n.dir" value="${subversion-n.dir}/cmd"/> ++ <property name="source-samples-n.dir" value="${subversion-n.dir}/samples"/> ++ ++ <!-- development source --> ++ <!-- ++ <property name="source-bj.dir" value="${development-j.dir}"/> ++ <property name="source-saj.dir" value="${development-j.dir}"/> ++ <property name="source-api-n.dir" value="${vss-n.dir}"/> ++ <property name="source-cmd-n.dir" value="${vss-n.dir}"/> ++ <property name="source-samples-n.dir" value="${vss-n.dir}"/> ++ --> ++ ++ <property name="solar.bin" value="${solarbindir}"/> ++ <path id="classpath-j"> ++ <fileset dir="${solar.bin}"> ++ <include name="jsr173_1.0_api.jar"/> ++ </fileset> ++ </path> ++ ++ <path id="classpath-n"> ++ <fileset dir="${lib.dir}"> ++ <include name="*.jar"/> ++ </fileset> ++ <fileset dir="${ikvm.dir}"> ++ <include name="classpath/mscorlib.jar"/> ++ <include name="classpath/System.jar"/> ++ <include name="bin/IKVM.GNU.Classpath.jar"/> ++ <include name="bin/IKVM.Runtime.jar"/> ++ </fileset> ++ <fileset dir="${generated.stubs.dir}"> ++ <include name="System.Xml.jar"/> ++ <include name="System.Security.jar"/> ++ </fileset> ++ </path> ++ ++ <path id="classpath-samples"> ++ <fileset dir="${lib.dir}"> ++ <include name="*.jar"/> ++ </fileset> ++ <fileset dir="${build-saj.dir}"> ++ <include name="*.jar"/> ++ </fileset> ++ <!-- Substitute build-bj.dir if there is no requirement to compile the sample applications ++ that depend on Saxon-SA --> ++ </path> ++ ++ <target name="clean" description="Clean all files other than source code and downloaded jars."> ++ <delete dir="${temp.dir}"/> ++ <delete dir="${product.dir}"/> ++ <mkdir dir="${product.dir}"/> ++ </target> ++ ++ <target name="download" description="Download third-party jar files."> ++ <get src="http://mirrors.ibiblio.org/pub/mirrors/maven2/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" ++ dest="${lib.dir}/dom4j-1.6.1.jar" verbose="true"/> ++ ++ <get src="http://www.ibiblio.org/maven/jdom/jars/jdom-1.0.jar" ++ dest="${lib.dir}/jdom-1.0.jar" verbose="true"/> ++ ++ <get src="http://www.cafeconleche.org/XOM/xom-1.1.jar" dest="${lib.dir}/xom-1.1.jar" ++ verbose="true"/> ++ ++ <get src="http://dist.codehaus.org/stax/jars/stax-api-1.0.1.jar" dest="${lib.dir}/stax-api-1.0.1.jar" ++ verbose="true"/> ++ ++ <!-- TODO: add servlet.jar, ant.jar --> ++ ++ </target> ++ ++ ++ <target name="copysource-development" description="Copy relevant source files from development directory"> ++ <copy todir="${temp-src-j.dir}"> ++ <fileset dir="${source-bj.dir}"> ++ <include name="net/sf/saxon/**/*.java"/> ++ <exclude name="**/dotnet/**"/> ++ <!--<exclude name="**/s9api/**"/> s9api needs Java 5 --> ++ <include name="net/sf/saxon/**/package.html"/> ++ </fileset> ++ <!-- ++ <fileset dir="${source-saj.dir}"> ++ <include name="com/saxonica/**/*.java"/> ++ <exclude name="com/saxonica/validate/DotNetVerifier.java"/> ++ <include name="com/saxonica/**/package.html"/> ++ </fileset> ++ --> ++ </copy> ++ <!-- ++ <replace file="${temp-src-j.dir}/com/saxonica/validate/SchemaAwareConfiguration.java" ++ token="/*DOTNETONLY*/" ++ value="//" ++ summary="yes"/> ++ --> ++ <replace file="${temp-src-j.dir}/net/sf/saxon/Configuration.java" ++ token="/*DOTNETONLY*/" ++ value="//" ++ summary="yes"/> ++ <copy todir="${temp-src-nj.dir}"> ++ <fileset dir="${source-bj.dir}"> ++ <include name="net/sf/saxon/**/*.java"/> ++ <exclude name="**/ant/**"/> ++ <exclude name="**/dom/**"/> ++ <exclude name="**/dom4j/**"/> ++ <exclude name="**/java/**"/> ++ <exclude name="**/javax/**"/> ++ <exclude name="**/jdom/**"/> ++ <exclude name="**/pull/PullToStax.java"/> ++ <exclude name="**/pull/StaxBridge.java"/> ++ <!-- <exclude name="**/s9api/**"/> s9api needs Java 5 --> ++ <exclude name="**/xom/**"/> ++ <exclude name="**/xpath/**"/> ++ <exclude name="**/xqj/**"/> ++ </fileset> ++ <!-- ++ <fileset dir="${source-saj.dir}"> ++ <include name="com/saxonica/extra/*.java"/> ++ <include name="com/saxonica/fsa/*.java"/> ++ <include name="com/saxonica/ptree/*.java"/> ++ <include name="com/saxonica/schema/*.java"/> ++ <include name="com/saxonica/sdoc/*.java"/> ++ <include name="com/saxonica/validate/*.java"/> ++ <include name="com/saxonica/Validate.java"/> ++ </fileset>--> ++ </copy> ++ <!-- ++ <replace file="${temp-src-nj.dir}/com/saxonica/validate/SchemaAwareConfiguration.java" ++ token="/*JAVAONLY*/" ++ value="//" ++ summary="yes"/> ++ --> ++ <replace file="${temp-src-nj.dir}/net/sf/saxon/Configuration.java" ++ token="/*JAVAONLY*/" ++ value="//" ++ summary="yes"/> ++ <!-- when building from development source ++ <copy todir="${temp-src-nc.dir}/api"> ++ <fileset dir="${source-api-n.dir}"> ++ <include name="Saxon.Api/*.cs"/> ++ </fileset> ++ </copy> ++ ++ <copy todir="${temp-src-nc.dir}/cmd"> ++ <fileset dir="${source-cmd-n.dir}/Transform"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-cmd-n.dir}/Query"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-cmd-n.dir}/Validate"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ <copy todir="${temp-src-nc.dir}/samples"> ++ <fileset dir="${source-samples-n.dir}/XQueryExamples"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/XPathExample"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/XsltExamples"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/SchemaExamples"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/XsltTestSuiteDriver"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/XQueryTestSuiteDriver"> ++ <include name="*.cs"/> ++ </fileset> ++ <fileset dir="${source-samples-n.dir}/SampleExtensions"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ --> ++ <!-- when building from patch source ++ <copy todir="${temp-src-nc.dir}/api/Saxon.Api"> ++ <fileset dir="${source-api-n.dir}"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ <copy todir="${temp-src-nc.dir}/cmd" > ++ <fileset dir="${source-cmd-n.dir}"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ <copy todir="${temp-src-nc.dir}/samples"> ++ <fileset dir="${source-samples-n.dir}"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ --> ++ <!-- --> ++ ++ </target> ++ ++ <target name="create-meta-inf" description="Create contents of META-INF/services files"> ++ ++ <!-- given the Ant 1.7.0 bug, create the services files here for copying into the JARS --> ++ <mkdir dir="${services.dir}/saxon9/META-INF/services"/> ++ <echo file="${services.dir}/saxon9/META-INF/services/javax.xml.transform.TransformerFactory" ++ message="net.sf.saxon.TransformerFactoryImpl"/> ++ <mkdir dir="${services.dir}/saxon9-xpath/META-INF/services"/> ++ <echo file="${services.dir}/saxon9-xpath/META-INF/services/javax.xml.xpath.XPathFactory" ++>net.sf.saxon.xpath.XPathFactoryImpl ++http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl ++http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl ++http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl ++http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl ++http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl ++</echo> ++ <mkdir dir="${services.dir}/saxon9sa/META-INF/services"/> ++ <echo file="${services.dir}/saxon9sa/META-INF/services/javax.xml.transform.TransformerFactory" ++ message="com.saxonica.SchemaAwareTransformerFactory"/> ++ <mkdir dir="${services.dir}/saxon9sa-jaxp/META-INF/services"/> ++ <echo file="${services.dir}/saxon9sa-jaxp/META-INF/services/javax.xml.validation.SchemaFactory" ++>com.saxonica.jaxp.SchemaFactoryImpl ++http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl ++</echo> ++ ++ ++ </target> ++ ++ <target name="compile-bj" description="Compile Saxon-B classes for Java." depends="copysource-development"> ++ <mkdir dir="${classes-j.dir}"/> ++ <javac encoding="ISO-8859-1" debug="${build.debug}" debuglevel="${build.debuglevel}" ++ deprecation="${build.deprecation}" destdir="${classes-j.dir}" ++ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}" ++ target="${build.compiler.target}"> ++ ++ <include name="net/**"/> ++ <exclude name="**/dom/**"/> ++ <exclude name="**/dom4j/**"/> ++ <exclude name="**/javax/**"/> ++ <exclude name="**/jdom/**"/> ++ <exclude name="**/sql/**"/> ++ <exclude name="**/xom/**"/> ++ <exclude name="**/xpath/**"/> ++ <exclude name="**/xqj/**"/> ++ <exclude name="**/dotnet/**"/> ++ <exclude name="**/s9api/**"/> ++ ++ <exclude name="**/ant/**"/> ++ <exclude name="**/dotnet/**"/> ++ <exclude name="**/s9api/**"/> ++ <classpath> ++ <path refid="classpath-j"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="compile-saj" description="Compile Saxon-SA classes for Java." depends="copysource-development"> ++ <mkdir dir="${classes-j.dir}"/> ++ <javac debug="${build.debug}" debuglevel="${build.debuglevel}" ++ deprecation="${build.deprecation}" destdir="${classes-j.dir}" ++ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.compiler.source}" ++ target="${build.compiler.target}"> ++ ++ <include name="com/saxonica/**"/> ++ <include name="net/sf/saxon/ant/**"/> ++ <exclude name="com/saxonica/validate/DotNetVerifier.java"/> ++ <classpath> ++ <path refid="classpath-j"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="compile-s9api" description="Compile s9api classes for Java." ++ depends="compile-bj, compile-saj, copysource-development"> ++ <!-- Compiling the s9api package requires JDK 1.5 --> ++ <!-- The bj and saj source must be compiled first to ensure that it is done using 1.4, otherwise ++ it will be compiled in 1.5 mode because the classes are referenced from the s9api package --> ++ <javac debug="${build.debug}" debuglevel="${build.debuglevel}" ++ deprecation="${build.deprecation}" destdir="${classes-j.dir}" ++ optimize="${build.optimize}" srcdir="${temp-src-j.dir}" source="${build.s9api.compiler.source}" ++ target="${build.s9api.compiler.target}"> ++ ++ <include name="**/s9api/**"/> ++ <classpath> ++ <path refid="classpath-j"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="compile-bn" description="Compile Saxon-B classes for .NET" depends="copysource-development"> ++ <mkdir dir="${classes-n.dir}"/> ++ <javac debug="${build.debug}" debuglevel="${build.debuglevel}" ++ deprecation="${build.deprecation}" destdir="${classes-n.dir}" ++ optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}" ++ target="${build.compiler.target}"> ++ ++ <include name="net/**"/> ++ <exclude name="**/s9api/**"/> ++ <classpath> ++ <path refid="classpath-n"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="compile-san" description="Compile Saxon-SA classes for .NET" depends="copysource-development"> ++ <mkdir dir="${classes-n.dir}"/> ++ <javac debug="${build.debug}" debuglevel="${build.debuglevel}" ++ deprecation="${build.deprecation}" destdir="${classes-n.dir}" ++ optimize="${build.optimize}" srcdir="${temp-src-nj.dir}" source="${build.compiler.source}" ++ target="${build.compiler.target}"> ++ ++ <include name="com/saxonica/**"/> ++ <exclude name="com/saxonica/validate/JavaVerifier.java"/> ++ <classpath> ++ <path refid="classpath-n"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="jar-bj" description="Create Saxon-B jar files for Java" depends="create-meta-inf, compile-bj"> ++ <mkdir dir="${product.dir}/bj"/> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9.jar"> ++ <include name="net/**/*.class"/> ++ <exclude name="**/ant/**/*.class"/> ++ <exclude name="**/dom/**/*.class"/> ++ <exclude name="**/dom4j/**/*.class"/> ++ <exclude name="**/javax/**/*.class"/> ++ <exclude name="**/jdom/**/*.class"/> ++ <exclude name="**/sql/**/*.class"/> ++ <exclude name="**/xom/**/*.class"/> ++ <exclude name="**/xpath/**/*.class"/> ++ <exclude name="**/xqj/**/*.class"/> ++ <exclude name="**/s9api/**/*.class"/> ++ <include name="META-INF/**"/> ++ <manifest> ++ <attribute name="Project-Name" value="Saxon-B"/> ++ <attribute name="Main-Class" value="net.sf.saxon.Transform"/> ++ </manifest> ++ <metainf dir="${services.dir}/saxon9/META-INF"/> ++ <!-- ++ <service type="javax.xml.transform.TransformerFactory" ++ provider="net.sf.saxon.TransformerFactoryImpl"/> ++ --> ++ </jar> ++ <!-- ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom.jar"> ++ <include name="net/sf/saxon/dom/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-dom4j.jar"> ++ <include name="net/sf/saxon/dom4j/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-jdom.jar"> ++ <include name="net/sf/saxon/jdom/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-s9api.jar"> ++ <include name="net/sf/saxon/s9api/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-sql.jar"> ++ <include name="net/sf/saxon/sql/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xom.jar"> ++ <include name="net/sf/saxon/xom/*.class"/> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xpath.jar"> ++ <include name="net/sf/saxon/xpath/*.class"/> ++ <metainf dir="${services.dir}/saxon9-xpath/META-INF"/> ++ <!== ++ <service type="javax.xml.xpath.XPathFactory"> ++ <provider classname="net.sf.saxon.xpath.XPathFactoryImpl"/> ++ <provider classname="http\://java.sun.com/jaxp/xpath/dom: net.sf.saxon.xpath.XPathFactoryImpl"/> ++ <provider classname="http\://saxon.sf.net/jaxp/xpath/om: net.sf.saxon.xpath.XPathFactoryImpl"/> ++ <provider classname="http\://www.xom.nu/jaxp/xpath/xom: net.sf.saxon.xpath.XPathFactoryImpl"/> ++ <provider classname="http\://jdom.org/jaxp/xpath/jdom: net.sf.saxon.xpath.XPathFactoryImpl"/> ++ <provider classname="http\://www.dom4j.org/jaxp/xpath/dom4j: net.sf.saxon.xpath.XPathFactoryImpl"/> ++ </service> ==> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-xqj.jar"> ++ <include name="net/sf/saxon/xqj/*.class"/> ++ <include name="net/sf/saxon/javax/xml/namespace/*.class"/> ++ <include name="net/sf/saxon/javax/xml/xquery/*.class"/> ++ </jar> ++ --> ++ </target> ++ ++ <target name="jar-saj" description="Create Saxon-SA jar files for Java" depends="compile-s9api, jar-bj"> ++ <mkdir dir="${product.dir}/saj"/> ++ <copy todir="${product.dir}/saj"> ++ <fileset dir="${product.dir}/bj"> ++ <include name="*.jar"/> ++ </fileset> ++ </copy> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa.jar"> ++ <include name="net/**/*.class"/> ++ <exclude name="**/dom/**/*.class"/> ++ <exclude name="**/dom4j/**/*.class"/> ++ <exclude name="**/javax/**/*.class"/> ++ <exclude name="**/jdom/**/*.class"/> ++ <exclude name="**/s9api/**/*.class"/> ++ <exclude name="**/sql/**/*.class"/> ++ <exclude name="**/xom/**/*.class"/> ++ <exclude name="**/xpath/**/*.class"/> ++ <exclude name="**/xqj/**/*.class"/> ++ <include name="com/saxonica/**/*.class"/> ++ <exclude name="com/saxonica/jaxp/*.class"/> ++ <exclude name="com.saxonica.CompileQuery.class"/> ++ <manifest> ++ <attribute name="Project-Name" value="Saxon-SA"/> ++ </manifest> ++ <metainf dir="${services.dir}/saxon9sa/META-INF"/> ++ <!-- ++ <service type="javax.xml.transform.TransformerFactory" ++ provider="com.saxonica.SchemaAwareTransformerFactory"/> ++ --> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-jaxp.jar"> ++ <include name="com/saxonica/jaxp/*.class"/> ++ <include name="net/sf/saxon/dom/TypeInfoImpl.class"/> ++ <metainf dir="${services.dir}/saxon9sa-jaxp/META-INF"/> ++ <!-- ++ <service type="javax.xml.validation.SchemaFactory"> ++ <provider classname="com.saxonica.jaxp.SchemaFactoryImpl"/> ++ <provider classname="http\://www.w3.org/2001/XMLSchema: com.saxonica.jaxp.SchemaFactoryImpl"/> ++ </service> ++ --> ++ </jar> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/saj/saxon9sa-qc.jar"> ++ <include name="com/saxonica/codegen/*.class"/> ++ <include name="com.saxonica.CompileQuery.class"/> ++ </jar> ++ <!-- The Saxon-Ant task is delivered with Saxon-B but it won't compile without Saxon-SA present, ++ unless modified --> ++ <jar basedir="${classes-j.dir}" compress="${build.compress}" jarfile="${product.dir}/bj/saxon9-ant.jar"> ++ <include name="net/sf/saxon/ant/*.class"/> ++ </jar> ++ </target> ++ ++ <target name="jar-bn" description="Create Saxon-B jar files for .NET" depends="compile-bn"> ++ <mkdir dir="${jar-n.dir}"/> ++ <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9.jar"> ++ <include name="net/**/*.class"/> ++ </jar> ++ </target> ++ ++ <target name="jar-san" description="Create Saxon-SA jar files for .NET" depends="compile-san"> ++ <mkdir dir="${jar-n.dir}"/> ++ <jar basedir="${classes-n.dir}" compress="${build.compress}" jarfile="${jar-n.dir}/saxon9sa.jar"> ++ <include name="com/saxonica/**/*.class"/> ++ </jar> ++ </target> ++ ++ <target name="dll-n" description="Create DLLs for .NET" depends="jar-bn, jar-san"> ++ <mkdir dir="${dll-n.dir}"/> ++ <copy todir="${dll-n.dir}"> ++ <fileset dir="${ikvm.dir}/bin"> ++ <include name="IKVM.GNU.Classpath.dll"/> ++ <include name="IKVM.Runtime.dll"/> ++ </fileset> ++ </copy> ++ <copy file="${saxondotnet.snk}" todir="${basedir}"/> ++ <!-- ++ Invoke IKVMC to cross-compile the JAR files into DLLs ++ --> ++ <exec dir="." executable="ikvmc.cmd" > ++ <arg line="live"/> <!-- set to 'debug' for testing, 'live' for final build --> ++ <arg line="${basedir}/${jar-n.dir}"/> ++ <arg line="${basedir}/${dll-n.dir}"/> ++ <arg line="${version}"/> ++ </exec> ++ </target> ++ ++ <target name="csharp-n" description="Compile C# source for .NET commands and API library" ++ depends="dll-n"> ++ ++ <mkdir dir="${dll-n.dir}/samples"/> ++ <mkdir dir="${dll-n.dir}/tests"/> ++ ++ <exec dir="." executable="csharp-compile.cmd" > ++ <arg line="${basedir}/${temp-src-nc.dir}"/> ++ <arg line="${basedir}/${dll-n.dir}"/> ++ <arg line="${version}"/> ++ </exec> ++ ++ ++<!-- <taskdef ++ uri="antlib:org.apache.ant.dotnet"> ++ <classpath> ++ <pathelement location="c:/javalib/ant-dotnet-1.0/ant-dotnet-1.0.jar"/> ++ </classpath> ++ </taskdef> ++ <dn:csc xmlns:dn="antlib:org.apache.ant.dotnet" ++ executable="${csharp.compiler}" ++ srcdir="${temp-src-nc.dir}/cmd" ++ targettype="exe" ++ win32icon="c:\MyDotNet\icons\gyfu.ico" ++ destdir="${dll-n.dir}"> ++ <reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/> ++ <reference file="${dll-n.dir}/IKVM.Runtime.dll"/> ++ <reference file="${dll-n.dir}/saxon9.dll"/> ++ <reference file="${dll-n.dir}/saxon9sa.dll"/> ++ </dn:csc> ++ <dn:csc xmlns:dn="antlib:org.apache.ant.dotnet" ++ executable="${csharp.compiler}" ++ srcdir="${temp-src-nc.dir}/api" ++ targettype="module" ++ win32icon="c:\MyDotNet\icons\gyfu.ico" ++ destdir="${dll-n.dir}"> ++ <reference file="${dll-n.dir}/IKVM.GNU.Classpath.dll"/> ++ <reference file="${dll-n.dir}/IKVM.Runtime.dll"/> ++ <reference file="${dll-n.dir}/saxon9.dll"/> ++ <reference file="${dll-n.dir}/saxon9sa.dll"/> ++ </dn:csc> ++--> ++ </target> ++ ++ <target name="basic-userdoc" description="Generate Basic Documentation for release with executable"> ++ <mkdir dir="${product.dir}/bj"/> ++ <copy todir="${product.dir}/bj"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <mkdir dir="${product.dir}/saj"/> ++ <copy todir="${product.dir}/saj"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <mkdir dir="${product.dir}/bn"/> ++ <copy todir="${product.dir}/bn"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <mkdir dir="${product.dir}/san"/> ++ <copy todir="${product.dir}/san"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ </target> ++ ++ <target name="product-bn" description="Assemble product.directory for Saxon-B on .NET" ++ depends="csharp-n, dll-n, basic-userdoc"> ++ <mkdir dir="${build-bn.dir}/bin"/> ++ <copy todir="${build-bn.dir}/bin"> ++ <fileset dir="${dll-n.dir}"> ++ <include name="IKVM.GNU.Classpath.dll"/> ++ <include name="IKVM.Runtime.dll"/> ++ <include name="saxon9.dll"/> ++ <include name="saxon9api.dll"/> ++ <include name="saxon9api.netmodule"/> ++ <include name="Query.exe"/> ++ <include name="Transform.exe"/> ++ </fileset> ++ </copy> ++ <echo file="${build-bn.dir}/bin/install-gac.cmd"> ++ set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin" ++ %NET%\gacutil /if IKVM.Runtime.dll ++ %NET%\gacutil /if IKVM.GNU.Classpath.dll ++ %NET%\gacutil /if saxon9.dll ++ %NET%\gacutil /if saxon9api.dll ++ </echo> ++ </target> ++ ++ <target name="product-san" description="Assemble product.directory for Saxon-SA on .NET" ++ depends="csharp-n, dll-n, basic-userdoc"> ++ <copy todir="${build-san.dir}/bin"> ++ <fileset dir="${dll-n.dir}"> ++ <include name="IKVM.GNU.Classpath.dll"/> ++ <include name="IKVM.Runtime.dll"/> ++ <include name="saxon9.dll"/> ++ <include name="saxon9sa.dll"/> ++ <include name="saxon9api.dll"/> ++ <include name="saxon9api.netmodule"/> ++ <include name="Query.exe"/> ++ <include name="Transform.exe"/> ++ <include name="Validate.exe"/> ++ </fileset> ++ </copy> ++ <echo file="${build-san.dir}/bin/install-gac.cmd"> ++ set NET="%PROGRAMFILES%\Microsoft.NET\SDK\v1.1\Bin" ++ %NET%\gacutil /if IKVM.Runtime.dll ++ %NET%\gacutil /if IKVM.GNU.Classpath.dll ++ %NET%\gacutil /if saxon9.dll ++ %NET%\gacutil /if saxon9sa.dll ++ %NET%\gacutil /if saxon9api.dll ++ </echo> ++ </target> ++ ++ <target name="samples" description="Assemble Cross-Platform Samples and Use-Cases"> ++ <mkdir dir="${build-resources.dir}/samples"/> ++ <copy todir="${product.dir}/resources/use-cases"> ++ <fileset dir="${usercases.dir}"/> ++ </copy> ++ <copy todir="${product.dir}/resources/samples"> ++ <fileset dir="${samples.dir}"> ++ <include name="analysis/timing-profile.xsl"/> ++ <include name="data/*.xml"/> ++ <include name="data/*.xsd"/> ++ <include name="data/*.dtd"/> ++ <include name="query/*.xq"/> ++ <include name="styles/*.xsl"/> ++ <include name="trax/xml/**/*.xml"/> ++ <include name="trax/xsl/**/*.xsl"/> ++ <include name="trax/xsl/**/preamble.txt"/> ++ </fileset> ++ </copy> ++ </target> ++ ++ <target name="samples-j" description="Copy and Compile Java Samples" ++ depends="jar-saj"> ++ <mkdir dir="${product.dir}/resources/samples/java"/> ++ <mkdir dir="${product.dir}/resources/samples/java/classes"/> ++ <copy todir="${product.dir}/resources/samples/java"> ++ <fileset dir="${samples.dir}/java"> ++ <include name="ApplyXPathJAXP.java"/> ++ <include name="ExampleContentHandler.java"/> ++ <include name="JDOMExample.java"/> ++ <include name="PullExamples.java"/> ++ <include name="QueryAPIExamples.java"/> ++ <include name="QuickValidator.java"/> ++ <include name="SaxonServlet.java"/> ++ <include name="SaxonSAServlet.java"/> ++ <include name="SchemaValidatorExample.java"/> ++ <include name="SchemaValidatorHandlerExample.java"/> ++ <include name="TraxExamples.java"/> ++ <include name="XMarkBenchmark.java"/> ++ <include name="XPathExample.java"/> ++ <include name="XPathExampleDOM.java"/> ++ <include name="XPathExampleSA.java"/> ++ <include name="XPathExampleServlet.java"/> ++ <include name="XQJExamples.java"/> ++ </fileset> ++ </copy> ++ <javac debug="true" debuglevel="source, lines" ++ destdir="${product.dir}/resources/samples/java/classes" ++ srcdir="${product.dir}/resources/samples/java" ++ source="${build.compiler.source}" ++ target="${build.compiler.target}"> ++ <include name="*.java"/> ++ <classpath> ++ <path refid="classpath-samples"/> ++ </classpath> ++ </javac> ++ </target> ++ ++ <target name="testdrivers-j" description="Copy Java Test Drivers"> ++ <mkdir dir="${product.dir}/resources/drivers/java/test"/> ++ <copy todir="${product.dir}/resources/drivers/java/test"> ++ <fileset dir="${drivers-j.dir}"> ++ <include name="XQueryTestSuiteDriver.java"/> ++ <include name="XsltTestSuiteDriver.java"/> ++ <include name="CanonicalXML.java"/> ++ <include name="XQTSModuleURIResolver.java"/> ++ <include name="XQTSCollectionURIResolver.java"/> ++ <include name="SchemaTestSuiteDriver.java"/> ++ </fileset> ++ </copy> ++ </target> ++ ++ <target name="samples-n" description="Assemble release samples for .NET" ++ depends="csharp-n"> ++ <mkdir dir="${build-resources.dir}/samples/cs"/> ++ <copy todir="${build-resources.dir}/samples/cs"> ++ <fileset dir="${temp-src-nc.dir}/samples"> ++ <include name="*.cs"/> ++ </fileset> ++ </copy> ++ <mkdir dir="${build-resources.dir}/samples/cs/bin"/> ++ <copy todir="${build-resources.dir}/samples/cs/bin"> ++ <fileset dir="${dll-n.dir}/samples"> ++ <include name="*.exe"/> ++ <include name="*.dll"/> ++ <include name="*.pdb"/> ++ </fileset> ++ </copy> ++ <copy todir="${build-resources.dir}/samples/cs/bin"> ++ <fileset dir="${dll-n.dir}/tests"> ++ <include name="*.exe"/> ++ <include name="*.dll"/> ++ <include name="*.pdb"/> ++ </fileset> ++ </copy> ++ </target> ++ ++ <target name="product-javadoc" description="Generate Javadoc."> ++ <javadoc bottom="Copyright (C) Michael H. Kay. All rights reserved." ++ destdir="${javadoc.dir}" doctitle="saxon9 Javadocs" ++ noindex="true" notree="true" access="public" ++ maxmemory="512M" source="1.5"> ++ <packageset dir="${temp-src-j.dir}"> ++ <include name="net/**"/> ++ <include name="com/**"/> ++ <exclude name="**/dotnet/**"/> ++ <exclude name="**/DotNetVerifier.java"/> ++ </packageset> ++ <classpath> ++ <path refid="classpath-j"/> ++ </classpath> ++ ++ <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/> ++ <link href="http://www.xom.nu/apidocs/"/> ++ ++ </javadoc> ++ <copy file="${userdoc.dir}/fixed/javadoc/stylesheet.css" ++ tofile="${javadoc.dir}/stylesheet.css" ++ overwrite="true"/> ++ </target> ++ ++ <target name="product-dotnetdoc" description="Copy .NET API documentation"> ++ <mkdir dir="${build-resources.dir}/doc/dotnetdoc"/> ++ <copy todir="${build-resources.dir}/doc/dotnetdoc"> ++ <fileset dir="${dotnetdoc.dir}"/> ++ </copy> ++ </target> ++ ++ ++ <target name="release-userdoc" description="Generate User Documentation"> ++ <taskdef name="saxon-xslt" ++ classname="net.sf.saxon.ant.AntTransform" ++ classpath="c:\saxon-build\9.0.0.1\saj\saxon9sa.jar;c:\saxon-licenses"/> ++ <copy todir="${build-resources.dir}/doc"> ++ <fileset dir="${userdoc.dir}/fixed"/> ++ </copy> ++ <copy todir="${product.dir}/bj"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <copy todir="${product.dir}/saj"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <copy todir="${product.dir}/bn"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <copy todir="${product.dir}/san"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="doc/**"/> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ <saxon-xslt in="${userdoc.dir}/catalog.xml" ++ style="${userdoc.dir}/render-page2.xsl" ++ schemaAware="true" ++ xmlVersion="1.0" ++ schemaValidation="strict" ++ out="${product.dir}/resources/doc/dummy.html"><!--validation="strict" --> ++ <param name="destination" expression="offline"/> ++ </saxon-xslt> ++ <zip zipfile="${build-resources.dir}/source-userdoc.zip"> ++ <fileset dir="${userdoc.dir}"> ++ <include name="**/*.xml"/> ++ <include name="**/*.xsl"/> ++ <include name="**/*.xsd"/> ++ <include name="**/*.css"/> ++ <include name="fixed/**"/> ++ <include name="welcome/**"/> ++ </fileset> ++ </zip> ++ </target> ++ ++ <target name="release-source" description="Generate Zip file containing issued Source Code"> ++ <mkdir dir="${build-resources.dir}"/> ++ <zip zipfile="${build-resources.dir}/source.zip"> ++ <fileset dir="${source-bj.dir}"> ++ <include name="net/**/*.java"/> ++ <include name="net/**/package.html"/> ++ </fileset> ++ <fileset dir="${source-bj.dir}"> ++ <include name="net/sf/saxon/dotnet/*.java"/> ++ <include name="net/sf/saxon/dotnet/package.html"/> ++ </fileset> ++ <fileset dir="${temp-src-nc.dir}"> ++ <include name="api/**/*.cs"/> ++ <include name="cmd/**/*.cs"/> ++ </fileset> ++ </zip> ++ <zip zipfile="${build-resources.dir}/sa-source.zip"> ++ <fileset dir="${source-saj.dir}"> ++ <include name="com/saxonica/**/*.java"/> ++ <include name="com/saxonica/**/package.html"/> ++ </fileset> ++ </zip> ++ </target> ++ ++ <target name="resources" description="Generate contents of released resources file" ++ depends="release-userdoc, product-javadoc, product-dotnetdoc, ++ samples, samples-j, testdrivers-j, samples-n, release-source"> ++ <mkdir dir="${product.dir}/resources/build"/> ++ <copy todir="${product.dir}/resources/build"> ++ <fileset dir="${basedir}"> ++ <include name="build.xml"/> ++ <include name="ikvmc.cmd"/> ++ <include name="csharp-compile.cmd"/> ++ </fileset> ++ </copy> ++ <copy todir="${product.dir}/resources"> ++ <fileset dir="${userdoc.dir}/welcome"> ++ <include name="notices/**"/> ++ </fileset> ++ </copy> ++ </target> ++ ++ <target name="bj" depends="compile-bj, jar-bj, basic-userdoc" ++ description="Generate Saxon-B for the Java platform"/> ++ ++ <target name="saj" depends="bj, jar-saj, basic-userdoc" ++ description="Generate Saxon-SA for the Java platform"/> ++ ++ <target name="n" depends="product-bn, product-san" ++ description="Generate Saxon for the .NET platform"/> ++ ++ <target name="build" description="Complete Saxon product build" ++ depends="bj, saj, n"/> <!-- add resources --> ++ ++ <target name="release" description="Create .ZIP files for release" depends="build" ++ > <!--depends="build, resources"--> ++ <mkdir dir="${issue.dir}"/> ++ <zip zipfile="${issue.dir}/saxonb${versionh}j.zip"> ++ <fileset dir="${product.dir}/bj"/> ++ </zip> ++ <zip zipfile="${issue.dir}/saxonb${versionh}n.zip"> ++ <fileset dir="${product.dir}/bn"/> ++ </zip> ++ <zip zipfile="${issue.dir}/saxonsa${versionh}j.zip"> ++ <fileset dir="${product.dir}/saj"/> ++ </zip> ++ <zip zipfile="${issue.dir}/saxonsa${versionh}n.zip"> ++ <fileset dir="${product.dir}/san"/> ++ </zip> ++ <!-- ++ <zip zipfile="${issue.dir}/saxon-resources${versionh}.zip"> ++ <fileset dir="${product.dir}/resources"/> ++ </zip> ++ --> ++ </target> ++ ++ <target name="archive" description="Archive everything needed for backup"> ++ <mkdir dir="${archive.dir}"/> ++ <copy todir="${archive.dir}"> ++ <fileset dir="${issue.dir}"/> ++ <fileset dir="${development-j.dir}" includes="sa-source.zip"/> ++ <fileset dir="${build-resources.dir}" includes="source.zip"/> ++ </copy> ++ <zip zipfile="${archive.dir}/saxontests.zip"> ++ <fileset dir="e:/tests"> ++ <include name="testsuite/*.*"/> ++ <include name="java/**/*.java"/> ++ <include name="xqts-current/SaxonDriver/**"/> ++ <include name="xqts-extra/**"/> ++ <include name="xslts_1_0_4/**/SaxonDriver/**"/> ++ </fileset> ++ <fileset dir="e:/tests/java" includes ="**/*.java"/> ++ </zip> ++ <zip zipfile="${archive.dir}/licensetool.zip"> ++ <fileset dir="c:/MyJava/licensetool"/> ++ </zip> ++ <zip zipfile="${archive.dir}/licenses.zip"> ++ <fileset dir="c:/saxon-licenses"/> ++ </zip> ++ </target> ++ ++ ++ ++</project> diff --git a/stax/makefile.mk b/stax/makefile.mk new file mode 100644 index 000000000000..ff3238bd6bea --- /dev/null +++ b/stax/makefile.mk @@ -0,0 +1,78 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=stax +TARGET=stax +USE_JAVAVER=TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk +.INCLUDE : antsettings.mk + +.IF "$(SOLAR_JAVA)" != "" +.IF "$(JAVANUMVER:s/.//)" >= "000100060000" || "$(JDK)"=="gcj" +all: + @echo "Your java version already contains StAX" +.ENDIF # "$(JAVANUMVER:s/.//)" >= "000100060000" +.IF "$(SYSTEM_SAXON)" == "YES" +all: + @echo "An already available installation of saxon should exist on your system." + @echo "Therefore the files provided here does not need to be built in addition." +.ENDIF + +.IF "$(BUILD_STAX)" != "YES" + +$(OUT)$/class$/jsr173_1.0_api.jar : $(PRJ)$/download$/jsr173_1.0_api.jar + +$(COPY) $< $@ + +.ELSE # "$(BUILD_STAX)" != "YES" + +# --- Files -------------------------------------------------------- +TARFILE_NAME=stax-api-1.0-2-sources +TARFILE_MD5=8294d6c42e3553229af9934c5c0ed997 +TARFILE_ROOTDIR=src + +BUILD_ACTION=$(JAVAC) javax$/xml$/stream$/*.java && jar -cf jsr173_1.0_api.jar javax$/xml$/stream$/*.class javax$/xml$/stream$/events$/*.class javax$/xml$/stream$/util$/*.class + +OUT2CLASS=jsr173_1.0_api.jar +.ENDIF # "$(BUILD_STAX)" != "YES" + +.ELSE # $(SOLAR_JAVA)!= "" +nojava: + @echo "Not building $(PRJNAME) because Java is disabled" +.ENDIF # $(SOLAR_JAVA)!= "" +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.IF "$(SOLAR_JAVA)" != "" +.INCLUDE : tg_ext.mk +.ENDIF + diff --git a/stax/prj/build.lst b/stax/prj/build.lst new file mode 100644 index 000000000000..cbfc6ea3ba6a --- /dev/null +++ b/stax/prj/build.lst @@ -0,0 +1,2 @@ +tx stax : solenv NULL +tx stax nmake - all tx_stax NULL diff --git a/stax/prj/d.lst b/stax/prj/d.lst new file mode 100644 index 000000000000..a4fd204791f8 --- /dev/null +++ b/stax/prj/d.lst @@ -0,0 +1 @@ +..\%__SRC%\class\jsr*.jar %_DEST%\bin diff --git a/zlib/make_patched_header.pl b/zlib/make_patched_header.pl new file mode 100755 index 000000000000..41dbdc5fbb96 --- /dev/null +++ b/zlib/make_patched_header.pl @@ -0,0 +1,66 @@ +: +eval 'exec perl -S $0 ${1+"$@"}' + if 0; +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +# +# make_patched_header - make patched header +# + +use strict; +use File::Basename; +use File::Path; +use Carp; + +my $patched_file = shift @ARGV; +$patched_file =~ s/\\/\//g; +my $module = shift @ARGV; +my $patch_dir = dirname($patched_file); +my $orig_file = $patched_file; +$orig_file =~ s/\/patched\//\//; + +if (!-f $orig_file) { carp("Cannot find file $orig_file\n"); }; +if (!-d $patch_dir) { + mkpath($patch_dir, 0, 0775); + if (!-d $patch_dir) {("mkdir: could not create directory $patch_dir\n"); }; +}; + +open(PATCHED_FILE, ">$patched_file") or carp("Cannot open file $patched_file\n"); +open(ORIG_FILE, "<$orig_file") or carp("Cannot open file $orig_file\n"); +foreach (<ORIG_FILE>) { + if (/#include\s*"(\w+\.h\w*)"/) { + my $include = $1; + s/#include "$include"/#include <$module\/$include>/g; + }; + print PATCHED_FILE $_; +}; +close PATCHED_FILE; +close ORIG_FILE; + +exit(0); + + diff --git a/zlib/makefile.mk b/zlib/makefile.mk new file mode 100644 index 000000000000..6165ccc8ddbf --- /dev/null +++ b/zlib/makefile.mk @@ -0,0 +1,75 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=. + +PRJNAME=zlib +TARGET=zlib + +.IF "$(GUI)" == "UNX" +.IF "$(SYSTEM_ZLIB)" == "YES" +all: + @echo "An already available installation of zlib should exist on your system." + @echo "Therefore the version provided here does not need to be built in addition." +.ENDIF +.ENDIF + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- + +TARFILE_NAME=zlib-1.2.5 +TARFILE_MD5=c735eab2d659a96e5a594c9e8541ad63 + +PATCH_FILES=zlib-1.2.5.patch +ADDITIONAL_FILES=makefile.mk + +#relative to CONFIGURE_DIR + +BUILD_DIR=$(CONFIGURE_DIR) +BUILD_ACTION=dmake $(MFLAGS) $(CALLMACROS) + +OUT2INC= \ + zlib.h \ + zconf.h \ + contrib$/minizip$/unzip.h \ + contrib$/minizip$/ioapi.h + +PATCHED_HEADERS=$(INCCOM)$/patched$/zlib.h + +# --- Targets ------------------------------------------------------ + +.INCLUDE : set_ext.mk +.INCLUDE : target.mk +.INCLUDE : tg_ext.mk + +ALLTAR: $(PATCHED_HEADERS) + +$(PATCHED_HEADERS) : $(PACKAGE_DIR)$/$(PREDELIVER_FLAG_FILE) + @$(PERL) make_patched_header.pl $@ $(PRJNAME) diff --git a/zlib/prj/build.lst b/zlib/prj/build.lst new file mode 100644 index 000000000000..8ef73d94723a --- /dev/null +++ b/zlib/prj/build.lst @@ -0,0 +1,2 @@ +zl zlib : soltools NULL +zl zlib nmake - all zl_mkout NULL diff --git a/zlib/prj/d.lst b/zlib/prj/d.lst new file mode 100644 index 000000000000..dc223ae4dd56 --- /dev/null +++ b/zlib/prj/d.lst @@ -0,0 +1,13 @@ +mkdir: %_DEST%\inc\external\zlib +mkdir: %_DEST%\lib\x64 + +..\%__SRC%\inc\patched\zlib.h %_DEST%\inc\external\zlib\zlib.h +..\%__SRC%\inc\unzip.h %_DEST%\inc\external\zlib\unzip.h +..\%__SRC%\inc\ioapi.h %_DEST%\inc\external\zlib\ioapi.h +..\%__SRC%\inc\zconf.h %_DEST%\inc\external\zlib\zconf.h + +..\%__SRC%\lib\libzlib.a %_DEST%\lib\libzlib.a +..\%__SRC%\slb\zlib.lib %_DEST%\lib\zlib.lib +..\%__SRC%\slb\zlib.lin %_DEST%\lib\zlib.lin +..\%__SRC%\slb\x64\zlib.lib %_DEST%\lib\x64\zlib.lib +..\%__SRC%\slb\x64\zlib.lin %_DEST%\lib\x64\zlib.lin diff --git a/zlib/zlib-1.2.3.patch b/zlib/zlib-1.2.3.patch new file mode 100644 index 000000000000..4bfad287c231 --- /dev/null +++ b/zlib/zlib-1.2.3.patch @@ -0,0 +1,103 @@ +--- misc/zlib-1.2.3/makefile.mk Fri Mar 14 10:17:06 2008 ++++ misc/build/zlib-1.2.3/makefile.mk Fri Mar 14 10:16:56 2008 +@@ -1 +1,73 @@ +-dummy ++#************************************************************************* ++# ++# Copyright according the GNU Public License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++ ++PRJNAME=zlib ++TARGET=zlib ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ----------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++# --- Files -------------------------------------------------------- ++ ++INCEXT=contrib$/minizip ++ ++SLOFILES= $(SLO)$/adler32.obj \ ++ $(SLO)$/compress.obj \ ++ $(SLO)$/deflate.obj \ ++ $(SLO)$/crc32.obj \ ++ $(SLO)$/inffast.obj \ ++ $(SLO)$/inflate.obj \ ++ $(SLO)$/inftrees.obj \ ++ $(SLO)$/infback.obj \ ++ $(SLO)$/trees.obj \ ++ $(SLO)$/zutil.obj \ ++ $(SLO)$/uncompr.obj \ ++ $(SLO)$/gzio.obj \ ++ $(SLO)$/unzip.obj \ ++ $(SLO)$/ioapi.obj ++ ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.IF "$(BUILD_X64)"!="" ++SLOFILES_X64= $(SLO_X64)$/adler32.obj \ ++ $(SLO_X64)$/compress.obj \ ++ $(SLO_X64)$/deflate.obj \ ++ $(SLO_X64)$/crc32.obj \ ++ $(SLO_X64)$/inffast.obj \ ++ $(SLO_X64)$/inflate.obj \ ++ $(SLO_X64)$/inftrees.obj \ ++ $(SLO_X64)$/infback.obj \ ++ $(SLO_X64)$/trees.obj \ ++ $(SLO_X64)$/zutil.obj \ ++ $(SLO_X64)$/uncompr.obj \ ++ $(SLO_X64)$/gzio.obj \ ++ $(SLO_X64)$/unzip.obj \ ++ $(SLO_X64)$/ioapi.obj ++ ++LIB1TARGET_X64=$(SLB_X64)$/$(TARGET).lib ++LIB1OBJFILES_X64=$(SLOFILES_X64) ++.ENDIF # "$(BUILD_X64)"!="" ++ ++ ++# --- Targets ------------------------------------------------------ ++ ++$(MISC)$/%.c : contrib$/minizip$/%.c ++ @echo ------------------------------ ++ @echo Making: $@ ++ @$(COPY) $< $@ ++ ++.INCLUDE : set_wntx64.mk ++.INCLUDE : target.mk ++.INCLUDE : tg_wntx64.mk ++ +--- misc/zlib-1.2.3/zconf.h 2010-07-15 09:33:48.921875000 +0200 ++++ misc/build/zlib-1.2.3/zconf.h 2010-07-15 09:39:27.000000000 +0200 +@@ -12,6 +12,12 @@ + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + */ ++/* ++ * we need the prefix to get the same names as in 1.1.3 ++*/ ++ ++#define Z_PREFIX ++ + #ifdef Z_PREFIX + # define deflateInit_ z_deflateInit_ + # define deflate z_deflate +--- misc/zlib-1.2.3/zutil.h ++++ misc/build/zlib-1.2.3/zutil.h +@@ -175,7 +175,7 @@ + + /* functions */ + +-#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550) ++#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550) || defined(_MSC_VER) + # ifndef HAVE_VSNPRINTF + # define HAVE_VSNPRINTF + # endif diff --git a/zlib/zlib-1.2.5.patch b/zlib/zlib-1.2.5.patch new file mode 100644 index 000000000000..7021a2ca4ba0 --- /dev/null +++ b/zlib/zlib-1.2.5.patch @@ -0,0 +1,71 @@ +--- misc/zlib-1.2.5/makefile.mk Fri Mar 14 10:17:06 2008 ++++ misc/build/zlib-1.2.5/makefile.mk Fri Mar 14 10:16:56 2008 +@@ -1 +1,67 @@ +-dummy ++#************************************************************************* ++# ++# Copyright according the GNU Public License. ++# ++#************************************************************************* ++ ++PRJ=..$/..$/..$/.. ++ ++PRJNAME=zlib ++TARGET=zlib ++LIBTARGET=NO ++EXTERNAL_WARNINGS_NOT_ERRORS=TRUE ++ ++# --- Settings ----------------------------------------------------- ++ ++.INCLUDE : settings.mk ++ ++# --- Files -------------------------------------------------------- ++ ++INCEXT=contrib$/minizip ++ ++SLOFILES= $(SLO)$/adler32.obj \ ++ $(SLO)$/compress.obj \ ++ $(SLO)$/deflate.obj \ ++ $(SLO)$/crc32.obj \ ++ $(SLO)$/inffast.obj \ ++ $(SLO)$/inflate.obj \ ++ $(SLO)$/inftrees.obj \ ++ $(SLO)$/trees.obj \ ++ $(SLO)$/zutil.obj \ ++ $(SLO)$/unzip.obj \ ++ $(SLO)$/ioapi.obj ++ ++ ++LIB1TARGET=$(SLB)$/$(TARGET).lib ++LIB1ARCHIV=$(LB)$/lib$(TARGET).a ++LIB1OBJFILES=$(SLOFILES) ++ ++.IF "$(BUILD_X64)"!="" ++SLOFILES_X64= $(SLO_X64)$/adler32.obj \ ++ $(SLO_X64)$/compress.obj \ ++ $(SLO_X64)$/deflate.obj \ ++ $(SLO_X64)$/crc32.obj \ ++ $(SLO_X64)$/inffast.obj \ ++ $(SLO_X64)$/inflate.obj \ ++ $(SLO_X64)$/inftrees.obj \ ++ $(SLO_X64)$/trees.obj \ ++ $(SLO_X64)$/zutil.obj \ ++ $(SLO_X64)$/unzip.obj \ ++ $(SLO_X64)$/ioapi.obj ++ ++LIB1TARGET_X64=$(SLB_X64)$/$(TARGET).lib ++LIB1OBJFILES_X64=$(SLOFILES_X64) ++.ENDIF # "$(BUILD_X64)"!="" ++ ++ ++# --- Targets ------------------------------------------------------ ++ ++$(MISC)$/%.c : contrib$/minizip$/%.c ++ @echo ------------------------------ ++ @echo Making: $@ ++ @$(COPY) $< $@ ++ ++.INCLUDE : set_wntx64.mk ++.INCLUDE : target.mk ++.INCLUDE : tg_wntx64.mk ++ diff --git a/zlib/zlib-valgrind.patch b/zlib/zlib-valgrind.patch new file mode 100644 index 000000000000..3789ee4b13ec --- /dev/null +++ b/zlib/zlib-valgrind.patch @@ -0,0 +1,78 @@ +--- misc/zlib-1.2.3/deflate.c ++++ misc/build/zlib-1.2.3/deflate.c +@@ -288,6 +288,8 @@ + s->prev = (Posf *) ZALLOC(strm, s->w_size, sizeof(Pos)); + s->head = (Posf *) ZALLOC(strm, s->hash_size, sizeof(Pos)); + ++ s->high_water = 0; /* nothing written to s->window yet */ ++ + s->lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */ + + overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2); +@@ -1355,6 +1355,40 @@ + */ + + } while (s->lookahead < MIN_LOOKAHEAD && s->strm->avail_in != 0); ++ ++ /* If the WIN_INIT bytes after the end of the current data have never been ++ * written, then zero those bytes in order to avoid memory check reports of ++ * the use of uninitialized (or uninitialised as Julian writes) bytes by ++ * the longest match routines. Update the high water mark for the next ++ * time through here. WIN_INIT is set to MAX_MATCH since the longest match ++ * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. ++ */ ++ if (s->high_water < s->window_size) { ++ ulg curr = s->strstart + (ulg)(s->lookahead); ++ ulg init; ++ ++ if (s->high_water < curr) { ++ /* Previous high water mark below current data -- zero WIN_INIT ++ * bytes or up to end of window, whichever is less. ++ */ ++ init = s->window_size - curr; ++ if (init > WIN_INIT) ++ init = WIN_INIT; ++ zmemzero(s->window + curr, (unsigned)init); ++ s->high_water = curr + init; ++ } ++ else if (s->high_water < (ulg)curr + WIN_INIT) { ++ /* High water mark at or above current data, but below current data ++ * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up ++ * to end of window, whichever is less. ++ */ ++ init = (ulg)curr + WIN_INIT - s->high_water; ++ if (init > s->window_size - s->high_water) ++ init = s->window_size - s->high_water; ++ zmemzero(s->window + s->high_water, (unsigned)init); ++ s->high_water += init; ++ } ++ } + } + + /* =========================================================================== +--- misc/zlib-1.2.3/deflate.h ++++ misc/build/zlib-1.2.3/deflate.h +@@ -260,6 +260,12 @@ + * are always zero. + */ + ++ ulg high_water; ++ /* High water mark offset in window for initialized bytes -- bytes above ++ * this are set to zero in order to avoid memory check warnings when ++ * longest match routines access bytes past the input. This is then ++ * updated to the new high water mark. ++ */ + } FAR deflate_state; + + /* Output a byte on the stream. +@@ -278,6 +284,10 @@ + * distances are limited to MAX_DIST instead of WSIZE. + */ + ++#define WIN_INIT MAX_MATCH ++/* Number of bytes after end of data in window to initialize in order to avoid ++ memory checker errors from longest match routines */ ++ + /* in trees.c */ + void _tr_init OF((deflate_state *s)); + int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc)); |