diff options
author | Roger Zanoni <rzanoni@google.com> | 2021-07-28 09:34:36 +0000 |
---|---|---|
committer | Michael BrĂ¼ning <michael.bruning@qt.io> | 2021-11-10 18:30:58 +0000 |
commit | 040a22563be46fab6f3b71cae856fa5f607ab83e (patch) | |
tree | d83fea3623c0bc479b66a678d58bdb15e9386f93 | |
parent | 76271a2368ed06214ef1f112c6322d94cf968fdd (diff) | |
download | qtwebengine-chromium-040a22563be46fab6f3b71cae856fa5f607ab83e.tar.gz |
[Backport] CVE-2021-30560: Use after free in Blink XSLT
Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/3042731:
Fix use-after-free with XSLT strip-space
(cherry picked from commit 79fc7bcbc940a66f4edfd2c49a5e63106074836a)
Fixed: 1219209
Change-Id: I3baab9d1b419407d964a80f10c6ca05e0294554f
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#892861}
Reviewed-by: Jana Grill <janagrill@google.com>
Owners-Override: Jana Grill <janagrill@google.com>
Commit-Queue: Roger Felipe Zanoni da Silva <rzanoni@google.com>
Cr-Commit-Position: refs/branch-heads/4430@{#1545}
Cr-Branched-From: e5ce7dc4f7518237b3d9bb93cccca35d25216cbe-refs/heads/master@{#857950}
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
48 files changed, 1808 insertions, 869 deletions
diff --git a/chromium/third_party/libxslt/BUILD.gn b/chromium/third_party/libxslt/BUILD.gn index 65ec774a8af..22dc20b7b48 100644 --- a/chromium/third_party/libxslt/BUILD.gn +++ b/chromium/third_party/libxslt/BUILD.gn @@ -26,8 +26,6 @@ config("libxslt_warnings") { static_library("bundled_libxslt") { sources = [ - "linux/config.h", - "mac/config.h", "src/libxslt/attributes.c", "src/libxslt/attributes.h", "src/libxslt/attrvt.c", @@ -72,7 +70,6 @@ static_library("bundled_libxslt") { "src/libxslt/xsltlocale.h", "src/libxslt/xsltutils.c", "src/libxslt/xsltutils.h", - "src/libxslt/xsltwin32config.h", "win32/config.h", ] @@ -85,8 +82,15 @@ static_library("bundled_libxslt") { ] public_configs = [ ":libxslt_config" ] + if (is_linux || is_chromeos) { + sources += [ "linux/config.h" ] + } + if (is_mac) { + sources += [ "mac/config.h" ] + } + cflags = [] - if (is_linux || is_android || is_fuchsia) { + if (is_linux || is_chromeos || is_android || is_fuchsia) { include_dirs = [ "linux" ] } else if (is_win) { include_dirs = [ "win32" ] @@ -101,9 +105,9 @@ static_library("bundled_libxslt") { include_dirs = [ "mac" ] } - deps = [ - "//third_party/libxml", - ] + deps = [ "//third_party/libxml" ] + + visibility = [ ":libxslt" ] } if (use_system_libxslt) { @@ -113,9 +117,11 @@ if (use_system_libxslt) { } source_set("libxslt") { public_configs = [ ":system_libxslt" ] + visibility = [ "//third_party/blink/renderer/*" ] } } else { group("libxslt") { public_deps = [ ":bundled_libxslt" ] + visibility = [ "//third_party/blink/renderer/*" ] } } diff --git a/chromium/third_party/libxslt/DIR_METADATA b/chromium/third_party/libxslt/DIR_METADATA new file mode 100644 index 00000000000..a0e30b3eb06 --- /dev/null +++ b/chromium/third_party/libxslt/DIR_METADATA @@ -0,0 +1,3 @@ +monorail: { + component: "Blink>XML" +} diff --git a/chromium/third_party/libxslt/OWNERS b/chromium/third_party/libxslt/OWNERS index 818fa1b248c..b7aa69d450b 100644 --- a/chromium/third_party/libxslt/OWNERS +++ b/chromium/third_party/libxslt/OWNERS @@ -1,2 +1 @@ -dominicc@chromium.org -scottmg@chromium.org +file://third_party/libxml/OWNERS diff --git a/chromium/third_party/libxslt/README.chromium b/chromium/third_party/libxslt/README.chromium index 90711e538e3..44d1d95c9c8 100644 --- a/chromium/third_party/libxslt/README.chromium +++ b/chromium/third_party/libxslt/README.chromium @@ -1,6 +1,7 @@ Name: libxslt URL: http://xmlsoft.org/XSLT -Version: 3653123f992db24cec417d12600f4c67388025e3 +Version: 7238299d64847e44bfe92170af1c7c57e26d469a +CPEPrefix: cpe:/a:xmlsoft:libxslt:1.1.34 Security Critical: yes License: MIT License File: src/Copyright diff --git a/chromium/third_party/libxslt/chromium/remove-crypto.patch b/chromium/third_party/libxslt/chromium/remove-crypto.patch new file mode 100644 index 00000000000..122f4a0cfc0 --- /dev/null +++ b/chromium/third_party/libxslt/chromium/remove-crypto.patch @@ -0,0 +1,23 @@ +diff --git a/configure.ac b/configure.ac +index d7142ff2..8a7112a9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -709,13 +709,16 @@ tests/exslt/sets/Makefile + tests/exslt/strings/Makefile + tests/exslt/date/Makefile + tests/exslt/dynamic/Makefile +-tests/exslt/crypto/Makefile + tests/plugins/Makefile + tests/fuzz/Makefile + doc/Makefile + xslt-config + libxslt.spec + ]) ++if test "$CRYPTO_TESTDIR" != "" ++then ++ AC_CONFIG_FILES(["tests/exslt/$CRYPTO_TESTDIR/Makefile"]) ++fi + AC_CONFIG_LINKS([tests/fuzz/xpath.xml:tests/fuzz/xpath.xml]) + AC_CONFIG_LINKS([tests/fuzz/xslt.xml:tests/fuzz/xslt.xml]) + + diff --git a/chromium/third_party/libxslt/chromium/roll.py b/chromium/third_party/libxslt/chromium/roll.py index 352bbd6d937..38f43ac776b 100755 --- a/chromium/third_party/libxslt/chromium/roll.py +++ b/chromium/third_party/libxslt/chromium/roll.py @@ -30,8 +30,8 @@ import tempfile # 2. On Linux: # a. sudo apt-get install libicu-dev # b. git clone https://gitlab.gnome.org/GNOME/libxslt.git somewhere -# 3. On Mac, install these MacPorts: -# autoconf automake libtool pkgconfig icu +# 3. On Mac, install these packages with brew: +# autoconf automake libtool pkgconfig icu4c # # Procedure: # @@ -67,6 +67,7 @@ import tempfile PATCHES = [ 'get-file-attributes-a.patch', 'xslt-locale.patch', + 'remove-crypto.patch', ] @@ -274,6 +275,12 @@ def prepare_libxslt_distribution(src_path, libxslt_repo_path, temp_dir): shell=True) with WorkingDir(temp_src_path): os.remove('.gitignore') + for patch in PATCHES: + print('applying %s' % patch) + subprocess.check_call( + 'patch -p1 --fuzz=0 < %s' % os.path.join( + src_path, THIRD_PARTY_LIBXSLT_SRC, '..', 'chromium', patch), + shell=True) with WorkingDir(temp_config_path): subprocess.check_call(['../src/autogen.sh'] + XSLT_CONFIGURE_OPTIONS + libxml_path_option(src_path)) @@ -314,11 +321,6 @@ def roll_libxslt_linux(src_path, repo_path): 's/Version: .*$/Version: %s/' % commit) check_copying() - for patch in PATCHES: - subprocess.check_call( - 'cat ../chromium/%s | patch -p1 --fuzz=0' % patch, - shell=True) - with WorkingDir('../linux'): subprocess.check_call(['../src/configure'] + XSLT_CONFIGURE_OPTIONS + diff --git a/chromium/third_party/libxslt/linux/config.h b/chromium/third_party/libxslt/linux/config.h index 1e002f2928c..5162a227f1f 100644 --- a/chromium/third_party/libxslt/linux/config.h +++ b/chromium/third_party/libxslt/linux/config.h @@ -1,9 +1,6 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the <ansidecl.h> header file. */ -/* #undef HAVE_ANSIDECL_H */ - /* Define to 1 if you have the `clock_gettime' function. */ diff --git a/chromium/third_party/libxslt/linux/libexslt/exsltconfig.h b/chromium/third_party/libxslt/linux/libexslt/exsltconfig.h index 112bd6f0be0..54bdbc5c05d 100644 --- a/chromium/third_party/libxslt/linux/libexslt/exsltconfig.h +++ b/chromium/third_party/libxslt/linux/libexslt/exsltconfig.h @@ -18,7 +18,7 @@ extern "C" { * * the version string like "1.2.3" */ -#define LIBEXSLT_DOTTED_VERSION "1.1.34" +#define LIBEXSLT_DOTTED_VERSION "0.8.20" /** * LIBEXSLT_VERSION: @@ -56,9 +56,6 @@ extern "C" { * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ -#ifdef HAVE_ANSIDECL_H -#include <ansidecl.h> -#endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif diff --git a/chromium/third_party/libxslt/mac/config.h b/chromium/third_party/libxslt/mac/config.h index aa19ee779d7..b756b61b29b 100644 --- a/chromium/third_party/libxslt/mac/config.h +++ b/chromium/third_party/libxslt/mac/config.h @@ -1,9 +1,6 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the <ansidecl.h> header file. */ -/* #undef HAVE_ANSIDECL_H */ - /* Define to 1 if you have the `clock_gettime' function. */ diff --git a/chromium/third_party/libxslt/src/CMakeLists.txt b/chromium/third_party/libxslt/src/CMakeLists.txt new file mode 100644 index 00000000000..7d990784a8d --- /dev/null +++ b/chromium/third_party/libxslt/src/CMakeLists.txt @@ -0,0 +1,526 @@ +cmake_minimum_required(VERSION 3.15) + +project(libxslt1 C) + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +include(CheckCSourceCompiles) +include(CheckFunctionExists) +include(CheckIncludeFiles) +include(CheckLibraryExists) +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + +set(LIBEXSLT_MAJOR_VERSION 0) +set(LIBEXSLT_MINOR_VERSION 8) +set(LIBEXSLT_MICRO_VERSION 20) + +set(LIBEXSLT_DOTTED_VERSION ${LIBEXSLT_MAJOR_VERSION}.${LIBEXSLT_MINOR_VERSION}.${LIBEXSLT_MICRO_VERSION}) +math(EXPR LIBEXSLT_VERSION_NUMBER "${LIBEXSLT_MAJOR_VERSION} * 10000 + ${LIBEXSLT_MINOR_VERSION} * 100 + ${LIBEXSLT_MICRO_VERSION}") +set(LIBEXSLT_VERSION_EXTRA "") + +set(LIBXSLT_MAJOR_VERSION 1) +set(LIBXSLT_MINOR_VERSION 1) +set(LIBXSLT_MICRO_VERSION 34) + +set(LIBXSLT_DOTTED_VERSION "${LIBXSLT_MAJOR_VERSION}.${LIBXSLT_MINOR_VERSION}.${LIBXSLT_MICRO_VERSION}") +math(EXPR LIBXSLT_VERSION_NUMBER "${LIBXSLT_MAJOR_VERSION} * 10000 + ${LIBXSLT_MINOR_VERSION} * 100 + ${LIBXSLT_MICRO_VERSION}") +set(LIBXSLT_VERSION_EXTRA "") + +set(VERSION ${LIBXSLT_DOTTED_VERSION}) +set(LIBEXSLT_VERSION ${LIBEXSLT_DOTTED_VERSION}) + +find_package(LibXml2 CONFIG REQUIRED) + +option(BUILD_SHARED_LIBS "Build shared libraries" ON) +option(LIBXSLT_WITH_DEBUGGER "Add the debugging support" ON) +option(LIBXSLT_WITH_CRYPTO "Add crypto support to exslt" OFF) +option(LIBXSLT_WITH_MEM_DEBUG "Add the memory debugging module" OFF) +option(LIBXSLT_WITH_MODULES "Add the module support" ON) +option(LIBXSLT_WITH_PROFILER "Add the profiling support" ON) +option(LIBXSLT_WITH_PYTHON "Build Python bindings" ON) +option(LIBXSLT_WITH_TESTS "Build tests" ON) +option(LIBXSLT_WITH_THREADS "Add multithread support" ON) +set(LIBXSLT_WITH_TRIO OFF) +option(LIBXSLT_WITH_XSLT_DEBUG "Add the debugging code" ON) + +if(LIBXSLT_WITH_CRYPTO) + find_package(Gcrypt REQUIRED) +endif() + +if(LIBXSLT_WITH_PYTHON) + find_package(Python2 COMPONENTS Interpreter Development REQUIRED) + set(LIBXSLT_PYTHON_INSTALL_DIR ${Python2_SITEARCH} CACHE PATH "Python bindings install directory") +endif() + +if(LIBXSLT_WITH_THREADS) + find_package(Threads REQUIRED) +endif() + +foreach(VARIABLE IN ITEMS WITH_CRYPTO WITH_DEBUGGER WITH_MEM_DEBUG WITH_MODULES WITH_PROFILER WITH_PYTHON WITH_TRIO WITH_XSLT_DEBUG) + if(LIBXSLT_${VARIABLE}) + set(${VARIABLE} 1) + else() + set(${VARIABLE} 0) + endif() +endforeach() + +set(MODULE_EXTENSION "${CMAKE_SHARED_LIBRARY_SUFFIX}") + +if(LIBXSLT_WITH_CRYPTO) + list(APPEND CMAKE_REQUIRED_LIBRARIES Gcrypt::Gcrypt) +endif() + +if(LIBXSLT_WITH_THREADS) + list(APPEND CMAKE_REQUIRED_LIBRARIES Threads::Threads) +endif() + +if(MSVC) + configure_file(libxslt/win32config.h config.h COPYONLY) + configure_file(libxslt/win32config.h win32config.h COPYONLY) +else() + if(UNIX) + set(CMAKE_REQUIRED_LIBRARIES m) + endif() + check_function_exists(clock_gettime HAVE_CLOCK_GETTIME) + check_include_files(dlfcn.h HAVE_DLFCN_H) + check_function_exists(fabs HAVE_FABS) + check_include_files(float.h HAVE_FLOAT_H) + check_function_exists(floor HAVE_FLOOR) + check_function_exists(fprintf HAVE_FPRINTF) + check_include_files(fp_class.h HAVE_FP_CLASS_H) + check_function_exists(ftime HAVE_FTIME) + check_library_exists(gcrypt gcry_control "gcrypt.h" HAVE_GCRYPT) + check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) + check_function_exists(gmtime HAVE_GMTIME) + check_function_exists(gmtime_r HAVE_GMTIME_R) + check_include_files(ieeefp.h HAVE_IEEEFP_H) + check_include_files(inttypes.h HAVE_INTTYPES_H) + check_library_exists(pthread pthread_join "" HAVE_LIBPTHREAD) + check_include_files(locale.h HAVE_LOCALE_H) + check_function_exists(localtime HAVE_LOCALTIME) + check_function_exists(localtime_r HAVE_LOCALTIME_R) + check_include_files(math.h HAVE_MATH_H) + check_include_files(memory.h HAVE_MEMORY_H) + check_include_files(nan.h HAVE_NAN_H) + check_function_exists(pow HAVE_POW) + check_function_exists(printf HAVE_PRINTF) + check_include_files(pthread.h HAVE_PTHREAD_H) + check_function_exists(snprintf HAVE_SNPRINTF) + check_function_exists(sprintf HAVE_SPRINTF) + check_function_exists(sscanf HAVE_SSCANF) + check_function_exists(stat HAVE_STAT) + check_include_files(stdarg.h HAVE_STDARG_H) + check_include_files(stdint.h HAVE_STDINT_H) + check_include_files(stdlib.h HAVE_STDLIB_H) + check_include_files(strings.h HAVE_STRINGS_H) + check_include_files(string.h HAVE_STRING_H) + check_function_exists(strxfrm_l HAVE_STRXFRM_L) + check_include_files(sys/select.h HAVE_SYS_SELECT_H) + check_include_files(sys/stat.h HAVE_SYS_STAT_H) + check_include_files(sys/timeb.h HAVE_SYS_TIMEB_H) + check_include_files(sys/time.h HAVE_SYS_TIME_H) + check_include_files(sys/types.h HAVE_SYS_TYPES_H) + check_function_exists(time HAVE_TIME) + check_include_files(time.h HAVE_TIME_H) + check_include_files(unistd.h HAVE_UNISTD_H) + check_function_exists(vfprintf HAVE_VFPRINTF) + check_function_exists(vsnprintf HAVE_VSNPRINTF) + check_function_exists(vsprintf HAVE_VSPRINTF) + check_include_files(xlocale.h HAVE_XLOCALE_H) + check_function_exists(_stat HAVE__STAT) + set(LT_OBJDIR ".libs/") + set(PACKAGE "libxslt") + set(PACKAGE_BUGREPORT "xml@gnome.org") + set(PACKAGE_NAME "libxslt") + set(PACKAGE_STRING "libxslt ${LIBXSLT_DOTTED_VERSION}") + set(PACKAGE_TARNAME "libxslt") + set(PACKAGE_URL "http://www.xmlsoft.org/libxslt") + set(PACKAGE_VERSION ${LIBXSLT_DOTTED_VERSION}) + check_include_files("float.h;stdarg.h;stdlib.h;string.h" STDC_HEADERS) + set(_ALL_SOURCE ON) + set(_GNU_SOURCE ON) + set(_POSIX_PTHREAD_SEMANTICS ON) + set(_TANDEM_SOURCE ON) + check_c_source_compiles(" + #define __EXTENSIONS__ 1 + int main() { return 0; } + " __EXTENSIONS__) + check_include_files(minix/config.h HAVE_MINIX_CONFIG_H) + if(HAVE_MINIX_CONFIG_H) + set(_MINIX ON) + set(_POSIX_1_SOURCE ON) + set(_POSIX_SOURCE ON) + endif() + configure_file(config.h.cmake.in config.h) +endif() + +configure_file(libexslt/exsltconfig.h.in libexslt/exsltconfig.h) +configure_file(libxslt/xsltconfig.h.in libxslt/xsltconfig.h) + +set( + LIBXSLT_HDRS + libxslt/attributes.h + libxslt/documents.h + libxslt/extensions.h + libxslt/extra.h + libxslt/functions.h + libxslt/imports.h + libxslt/keys.h + libxslt/namespaces.h + libxslt/numbersInternals.h + libxslt/pattern.h + libxslt/preproc.h + libxslt/security.h + libxslt/templates.h + libxslt/transform.h + libxslt/variables.h + libxslt/xslt.h + ${CMAKE_CURRENT_BINARY_DIR}/libxslt/xsltconfig.h + libxslt/xsltexports.h + libxslt/xsltInternals.h + libxslt/xsltlocale.h + libxslt/xsltutils.h +) + +set( + LIBXSLT_SRCS + libxslt/attributes.c + libxslt/attrvt.c + libxslt/documents.c + libxslt/extensions.c + libxslt/extra.c + libxslt/functions.c + libxslt/imports.c + libxslt/keys.c + libxslt/namespaces.c + libxslt/numbers.c + libxslt/pattern.c + libxslt/preproc.c + libxslt/security.c + libxslt/templates.c + libxslt/transform.c + libxslt/variables.c + libxslt/xslt.c + libxslt/xsltlocale.c + libxslt/xsltutils.c +) + +add_library(LibXslt ${LIBXSLT_HDRS} ${LIBXSLT_SRCS}) + +target_include_directories( + LibXslt + PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}> +) + +target_link_libraries(LibXslt PUBLIC LibXml2::LibXml2) + +if(UNIX) + target_link_libraries(LibXslt PRIVATE m) + set(M_LIBS "-lm") +endif() + +set_target_properties( + LibXslt + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xslt + POSITION_INDEPENDENT_CODE ON + PREFIX lib + VERSION ${VERSION} +) + +if(WIN32) + if(BUILD_SHARED_LIBS) + set_target_properties( + LibXslt + PROPERTIES + DEBUG_POSTFIX d + ) + else() + set_target_properties( + LibXslt + PROPERTIES + DEBUG_POSTFIX sd + MINSIZEREL_POSTFIX s + RELEASE_POSTFIX s + RELWITHDEBINFO_POSTFIX s + ) + endif() +endif() + +install(FILES ${LIBXSLT_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libxslt COMPONENT development) + +install( + TARGETS LibXslt + EXPORT LibXslt + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_COMPONENT development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime +) + +if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $<TARGET_PDB_FILE:LibXslt> DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) +endif() + +set( + LIBEXSLT_HDRS + libexslt/exslt.h + ${CMAKE_CURRENT_BINARY_DIR}/libexslt/exsltconfig.h + libexslt/exsltexports.h +) + +set( + LIBEXSLT_SRCS + libexslt/common.c + libexslt/crypto.c + libexslt/date.c + libexslt/dynamic.c + libexslt/exslt.c + libexslt/functions.c + libexslt/libexslt.h + libexslt/math.c + libexslt/saxon.c + libexslt/sets.c + libexslt/strings.c +) + +add_library(LibExslt ${LIBEXSLT_HDRS} ${LIBEXSLT_SRCS}) + +target_include_directories( + LibExslt + PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> + $<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${CMAKE_INSTALL_INCLUDEDIR}> +) + +if(LIBXSLT_WITH_CRYPTO) + target_link_libraries(LibExslt PRIVATE Gcrypt::Gcrypt) + set(LIBGCRYPT_LIBS "-lgcrypt") +endif() + +target_link_libraries(LibExslt PUBLIC LibXslt LibXml2::LibXml2) + +set_target_properties( + LibExslt + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME exslt + POSITION_INDEPENDENT_CODE ON + PREFIX lib + VERSION ${LIBEXSLT_VERSION} +) + +if(WIN32) + if(BUILD_SHARED_LIBS) + set_target_properties( + LibExslt + PROPERTIES + DEBUG_POSTFIX d + ) + else() + set_target_properties( + LibExslt + PROPERTIES + DEBUG_POSTFIX sd + MINSIZEREL_POSTFIX s + RELEASE_POSTFIX s + RELWITHDEBINFO_POSTFIX s + ) + endif() +endif() + +install(FILES ${LIBEXSLT_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libexslt COMPONENT development) + +install( + TARGETS LibExslt + EXPORT LibXslt + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime NAMELINK_COMPONENT development + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT runtime +) + +if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $<TARGET_PDB_FILE:LibExslt> DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) +endif() + +add_executable(xsltproc xsltproc/xsltproc.c) +target_include_directories(xsltproc PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>) +target_link_libraries(xsltproc LibExslt LibXslt) +install(TARGETS xsltproc EXPORT LibXslt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT programs) + +if(LIBXSLT_WITH_TESTS) + enable_testing() + if(Threads_FOUND) + add_executable(testThreads xsltproc/testThreads.c) + target_link_libraries(testThreads LibXslt LibExslt Threads::Threads) + add_test(NAME testThreads COMMAND testThreads WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() +endif() + +if(LIBXSLT_WITH_PYTHON) + set(ENV{SRCDIR} ${CMAKE_CURRENT_SOURCE_DIR}/python) + execute_process( + COMMAND + ${Python2_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/python/generator.py + ${CMAKE_CURRENT_SOURCE_DIR}/doc/libxslt-api.xml + ${CMAKE_CURRENT_SOURCE_DIR}/python/libxslt-python-api.xml + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR} + ) + unset(ENV{SRCDIR}) + file(READ python/libxsl.py LIBXSL_PY) + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/libxslt.py.in "${LIBXSL_PY}") + file(READ ${CMAKE_CURRENT_BINARY_DIR}/libxsltclass.py LIBXSLTCLASS_PY) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libxslt.py.in "${LIBXSLTCLASS_PY}") + configure_file(${CMAKE_CURRENT_BINARY_DIR}/libxslt.py.in libxslt.py COPYONLY) + add_library( + LibXsltMod + libxslt-py.c + libxslt-py.h + python/libxml_wrap.h + python/libxslt.c + python/libxslt_wrap.h + python/types.c + ) + target_include_directories( + LibXsltMod + PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/python> + ) + target_link_libraries(LibXsltMod LibXslt LibExslt Python2::Python) + set_target_properties( + LibXsltMod + PROPERTIES + IMPORT_PREFIX lib + OUTPUT_NAME xsltmod + PREFIX lib + VERSION ${VERSION} + ) + install( + TARGETS LibXsltMod + ARCHIVE DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT development + LIBRARY DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT runtime NAMELINK_COMPONENT development + RUNTIME DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT runtime + ) + if(MSVC AND BUILD_SHARED_LIBS) + install(FILES $<TARGET_PDB_FILE:LibXsltMod> DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} CONFIGURATIONS Debug RelWithDebInfo COMPONENT debug) + endif() + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt.py DESTINATION ${LIBXSLT_PYTHON_INSTALL_DIR} COMPONENT runtime) +endif() + +install(FILES libexslt/libexslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) +install(FILES libxslt/libxslt.3 DESTINATION ${CMAKE_INSTALL_MANDIR}/man3 COMPONENT documentation) +install(FILES doc/xsltproc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT documentation) +install(DIRECTORY doc/ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/libxslt COMPONENT documentation PATTERN Makefile.* EXCLUDE) + +if(LIBXSLT_WITH_CRYPTO) + install(FILES FindGcrypt.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${VERSION} COMPONENT development) +endif() + +configure_package_config_file( + libxslt-config.cmake.cmake.in libxslt-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${VERSION} +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${VERSION} + COMPONENT development +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/libxslt-config-version.cmake + VERSION ${VERSION} + COMPATIBILITY ExactVersion +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${VERSION} + COMPONENT development +) + +install( + EXPORT LibXslt + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libxslt-${VERSION} + NAMESPACE LibXslt:: + FILE libxslt-export.cmake + COMPONENT development +) + +set(LIBXSLT_DEFAULT_PLUGINS_PATH "\${libdir}/libxslt-plugins") +set(XSLT_INCLUDEDIR "-I\${includedir}") +set(XSLT_LIBDIR "-L\${libdir}") +set(XSLT_LIBS "-lxslt -lxml2") +set(XSLT_PRIVATE_LIBS "${M_LIBS}") + +set(EXSLT_INCLUDEDIR "-I\${includedir}") +set(EXSLT_LIBDIR "-L\${libdir}") +set(EXSLT_LIBS "-lexslt ${XSLT_LIBS}") +set(EXSLT_PRIVATE_LIBS "${XSLT_PRIVATE_LIBS} ${LIBGCRYPT_LIBS}") + +file(RELATIVE_PATH PACKAGE_RELATIVE_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}") +string(REGEX REPLACE "/$" "" PACKAGE_RELATIVE_PATH "${PACKAGE_RELATIVE_PATH}") + +set(prefix "\${pcfiledir}/${PACKAGE_RELATIVE_PATH}") +set(exec_prefix "\${prefix}") +set(libdir "\${prefix}/${CMAKE_INSTALL_LIBDIR}") +set(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") +configure_file(libxslt.pc.in libxslt.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libxslt.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development) +configure_file(libexslt.pc.in libexslt.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libexslt.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development) + +set(prefix "\$(cd \"\$(dirname \"\$0\")\"; pwd -P)/..") +configure_file(xslt-config.in xslt-config @ONLY) +install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xslt-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development) + +set(XSLT_INCLUDEDIR "-I${CMAKE_INSTALL_FULL_INCLUDEDIR}") +set(XSLT_LIBDIR "-L${CMAKE_INSTALL_FULL_LIBDIR}") +configure_file(xsltConf.sh.in xsltConf.sh @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/xsltConf.sh DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT development) + +set(CPACK_COMPONENT_DEVELOPMENT_DEPENDS runtime) +set(CPACK_COMPONENT_PROGRAMS_DEPENDS runtime) +set(CPACK_DEB_COMPONENT_INSTALL ON) +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_NAME "${PACKAGE_TARNAME}${LIBXSLT_MAJOR_VERSION}-dev") +set(CPACK_DEBIAN_DEVELOPMENT_PACKAGE_SECTION "libdevel") +set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${PACKAGE_URL}) +set(CPACK_DEBIAN_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_PACKAGE_SECTION "devel") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_DEPENDS "${PACKAGE_TARNAME}") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_NAME "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_PROGRAMS_PACKAGE_SECTION "utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_DEBIAN_RUNTIME_PACKAGE_RECOMMENDS "${PACKAGE_TARNAME}-utils") +set(CPACK_DEBIAN_RUNTIME_PACKAGE_SECTION "libs") +set(CPACK_NSIS_PACKAGE_NAME ${PACKAGE_STRING}) +set(CPACK_NSIS_URL_INFO_ABOUT ${PACKAGE_URL}) +set(CPACK_PACKAGE_CONTACT ${PACKAGE_BUGREPORT}) +set(CPACK_PACKAGE_DISPLAY_NAME ${PACKAGE_STRING}) +set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PACKAGE_TARNAME}-${PACKAGE_VERSION}") +set(CPACK_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION}) +set(CPACK_PACKAGE_VERSION_MAJOR ${LIBXSLT_MAJOR_VERSION}) +set(CPACK_PACKAGE_VERSION_MINOR ${LIBXSLT_MINOR_VERSION}) +set(CPACK_PACKAGE_VERSION_PATCH ${LIBXSLT_MICRO_VERSION}) +set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/Copyright) +set(CPACK_RPM_COMPONENT_INSTALL ON) +set(CPACK_RPM_development_PACKAGE_NAME "${PACKAGE_NAME}-devel") +set(CPACK_RPM_development_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries") +set(CPACK_RPM_PACKAGE_NAME ${PACKAGE_TARNAME}) +set(CPACK_RPM_PACKAGE_URL ${PACKAGE_URL}) +set(CPACK_RPM_programs_PACKAGE_NAME "${PACKAGE_NAME}-utils") +set(CPACK_RPM_programs_PACKAGE_REQUIRES "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_NAME "${PACKAGE_NAME}") +set(CPACK_RPM_runtime_PACKAGE_SUGGESTS "${PACKAGE_NAME}-utils") + +include(CPack) diff --git a/chromium/third_party/libxslt/src/FindGcrypt.cmake b/chromium/third_party/libxslt/src/FindGcrypt.cmake new file mode 100644 index 00000000000..781113d5deb --- /dev/null +++ b/chromium/third_party/libxslt/src/FindGcrypt.cmake @@ -0,0 +1,40 @@ +include(FindPackageHandleStandardArgs) +include(SelectLibraryConfigurations) + +find_path(GCRYPT_INCLUDE_DIRS NAMES gcrypt.h) + +mark_as_advanced(GCRYPT_INCLUDE_DIRS) + +find_library(GCRYPT_LIBRARY_DEBUG NAMES gcryptd) +find_library(GCRYPT_LIBRARY_RELEASE NAMES gcrypt) + +select_library_configurations(GCRYPT) + +if(GCRYPT_INCLUDE_DIRS AND EXISTS "${GCRYPT_INCLUDE_DIRS}/gcrypt.h") + file(STRINGS "${GCRYPT_INCLUDE_DIRS}/gcrypt.h" _GCRYPT_VERSION_DEFINE REGEX "#define[\t ]+GCRYPT_VERSION[\t ]+\"[^\"]*\".*") + string(REGEX REPLACE "#define[\t ]+GCRYPT_VERSION[\t ]+\"([^\"]*)\".*" "\\1" GCRYPT_VERSION "${_GCRYPT_VERSION_DEFINE}") + unset(_GCRYPT_VERSION_DEFINE) +endif() + +find_package_handle_standard_args( + Gcrypt + FOUND_VAR GCRYPT_FOUND + REQUIRED_VARS GCRYPT_INCLUDE_DIRS GCRYPT_LIBRARIES + VERSION_VAR GCRYPT_VERSION +) + +if(GCRYPT_FOUND AND NOT TARGET Gcrypt::Gcrypt) + add_library(Gcrypt::Gcrypt UNKNOWN IMPORTED) + if(GCRYPT_LIBRARY_RELEASE) + set_property(TARGET Gcrypt::Gcrypt APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(Gcrypt::Gcrypt PROPERTIES IMPORTED_LOCATION_RELEASE "${GCRYPT_LIBRARY_RELEASE}") + endif() + if(GCRYPT_LIBRARY_DEBUG) + set_property(TARGET Gcrypt::Gcrypt APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(Gcrypt::Gcrypt PROPERTIES IMPORTED_LOCATION_DEBUG "${GCRYPT_LIBRARY_DEBUG}") + endif() + set_target_properties( + Gcrypt::Gcrypt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${GCRYPT_INCLUDE_DIRS}" + ) +endif() diff --git a/chromium/third_party/libxslt/src/Makefile.am b/chromium/third_party/libxslt/src/Makefile.am index 2c417d0be23..a7b13f898cc 100644 --- a/chromium/third_party/libxslt/src/Makefile.am +++ b/chromium/third_party/libxslt/src/Makefile.am @@ -25,6 +25,7 @@ EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \ FEATURES TODO Copyright libxslt.m4 \ win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \ win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \ + CMakeLists.txt config.h.cmake.in FindGcrypt.cmake libxslt-config.cmake.in libxslt-config.cmake.cmake.in \ $(CVS_EXTRA_DIST) ## We create xsltConf.sh here and not from configure because we want @@ -73,6 +74,9 @@ rpm: cleantar pkgconfigdir=$(libdir)/pkgconfig pkgconfig_DATA = libxslt.pc libexslt.pc +cmakedir = $(libdir)/cmake/libxslt +cmake_DATA = FindGcrypt.cmake libxslt-config.cmake + m4datadir = $(datadir)/aclocal m4data_DATA = libxslt.m4 diff --git a/chromium/third_party/libxslt/src/config.h.cmake.in b/chromium/third_party/libxslt/src/config.h.cmake.in new file mode 100644 index 00000000000..416077779c9 --- /dev/null +++ b/chromium/third_party/libxslt/src/config.h.cmake.in @@ -0,0 +1,214 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#cmakedefine HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#cmakedefine HAVE_DLFCN_H 1 + +/* Define to 1 if you have the <errno.h> header file. */ +#cmakedefine HAVE_ERRNO_H 1 + +/* Define if fabs is there */ +#cmakedefine HAVE_FABS + +/* Define to 1 if you have the <float.h> header file. */ +#cmakedefine HAVE_FLOAT_H 1 + +/* Define if floor is there */ +#cmakedefine HAVE_FLOOR + +/* Define to 1 if you have the `fprintf' function. */ +#cmakedefine HAVE_FPRINTF 1 + +/* Define to 1 if you have the <fp_class.h> header file. */ +#cmakedefine HAVE_FP_CLASS_H 1 + +/* Define to 1 if you have the `ftime' function. */ +#cmakedefine HAVE_FTIME 1 + +/* Define if gcrypt library is available. */ +#cmakedefine HAVE_GCRYPT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#cmakedefine HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `gmtime' function. */ +#cmakedefine HAVE_GMTIME 1 + +/* Define to 1 if you have the `gmtime_r' function. */ +#cmakedefine HAVE_GMTIME_R 1 + +/* Define to 1 if you have the <ieeefp.h> header file. */ +#cmakedefine HAVE_IEEEFP_H 1 + +/* Define to 1 if you have the <inttypes.h> header file. */ +#cmakedefine HAVE_INTTYPES_H 1 + +/* Define if pthread library is there (-lpthread) */ +#cmakedefine HAVE_LIBPTHREAD + +/* Define to 1 if you have the <locale.h> header file. */ +#cmakedefine HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `localtime' function. */ +#cmakedefine HAVE_LOCALTIME 1 + +/* Define to 1 if you have the `localtime_r' function. */ +#cmakedefine HAVE_LOCALTIME_R 1 + +/* Define to 1 if you have the <math.h> header file. */ +#cmakedefine HAVE_MATH_H 1 + +/* Define to 1 if you have the <memory.h> header file. */ +#cmakedefine HAVE_MEMORY_H 1 + +/* Define to 1 if you have the <nan.h> header file. */ +#cmakedefine HAVE_NAN_H 1 + +/* Define if pow is there */ +#cmakedefine HAVE_POW + +/* Define to 1 if you have the `printf' function. */ +#cmakedefine HAVE_PRINTF 1 + +/* Define if <pthread.h> is there */ +#cmakedefine HAVE_PTHREAD_H + +/* Define to 1 if you have the `snprintf' function. */ +#cmakedefine HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `sprintf' function. */ +#cmakedefine HAVE_SPRINTF 1 + +/* Define to 1 if you have the `sscanf' function. */ +#cmakedefine HAVE_SSCANF 1 + +/* Define to 1 if you have the `stat' function. */ +#cmakedefine HAVE_STAT 1 + +/* Define to 1 if you have the <stdarg.h> header file. */ +#cmakedefine HAVE_STDARG_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#cmakedefine HAVE_STDINT_H 1 + +/* Define to 1 if you have the <stdlib.h> header file. */ +#cmakedefine HAVE_STDLIB_H 1 + +/* Define to 1 if you have the <strings.h> header file. */ +#cmakedefine HAVE_STRINGS_H 1 + +/* Define to 1 if you have the <string.h> header file. */ +#cmakedefine HAVE_STRING_H 1 + +/* Define to 1 if you have the `strxfrm_l' function. */ +#cmakedefine HAVE_STRXFRM_L 1 + +/* Define to 1 if you have the <sys/select.h> header file. */ +#cmakedefine HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#cmakedefine HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/timeb.h> header file. */ +#cmakedefine HAVE_SYS_TIMEB_H 1 + +/* Define to 1 if you have the <sys/time.h> header file. */ +#cmakedefine HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#cmakedefine HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `time' function. */ +#cmakedefine HAVE_TIME 1 + +/* Define to 1 if you have the <time.h> header file. */ +#cmakedefine HAVE_TIME_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#cmakedefine HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vfprintf' function. */ +#cmakedefine HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#cmakedefine HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#cmakedefine HAVE_VSPRINTF 1 + +/* Define to 1 if you have the <xlocale.h> header file. */ +#cmakedefine HAVE_XLOCALE_H 1 + +/* Define to 1 if you have the `_stat' function. */ +#cmakedefine HAVE__STAT 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#cmakedefine LT_OBJDIR "@LT_OBJDIR@" + +/* Name of package */ +#cmakedefine PACKAGE "@PACKAGE@" + +/* Define to the address where bug reports for this package should be sent. */ +#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" + +/* Define to the full name of this package. */ +#cmakedefine PACKAGE_NAME "@PACKAGE_NAME@" + +/* Define to the full name and version of this package. */ +#cmakedefine PACKAGE_STRING "@PACKAGE_STRING@" + +/* Define to the one symbol short name of this package. */ +#cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@" + +/* Define to the home page for this package. */ +#cmakedefine PACKAGE_URL "@PACKAGE_URL@" + +/* Define to the version of this package. */ +#cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@" + +/* Define to 1 if you have the ANSI C header files. */ +#cmakedefine STDC_HEADERS 1 + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +#cmakedefine _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +#cmakedefine _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +#cmakedefine _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +#cmakedefine _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +#cmakedefine __EXTENSIONS__ 1 +#endif + + +/* Version number of package */ +#cmakedefine VERSION "@VERSION@" + +/* Define if debugging support is enabled */ +#cmakedefine WITH_DEBUGGER 1 + +/* Define if profiling support is enabled */ +#cmakedefine WITH_PROFILER 1 + +/* Define to 1 if on MINIX. */ +#cmakedefine _MINIX 1 + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#cmakedefine _POSIX_1_SOURCE 2 + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#cmakedefine _POSIX_SOURCE 1 diff --git a/chromium/third_party/libxslt/src/config.h.in b/chromium/third_party/libxslt/src/config.h.in index 7b77e13a435..0dbe3335d38 100644 --- a/chromium/third_party/libxslt/src/config.h.in +++ b/chromium/third_party/libxslt/src/config.h.in @@ -1,8 +1,5 @@ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the <ansidecl.h> header file. */ -#undef HAVE_ANSIDECL_H - /* Define to 1 if you have the `clock_gettime' function. */ #undef HAVE_CLOCK_GETTIME diff --git a/chromium/third_party/libxslt/src/configure.ac b/chromium/third_party/libxslt/src/configure.ac index 786e8a258b4..a7a97be6ebf 100644 --- a/chromium/third_party/libxslt/src/configure.ac +++ b/chromium/third_party/libxslt/src/configure.ac @@ -146,15 +146,18 @@ dnl Look for pthread.h, needed for testThreads case $host in *-mingw*) ;; *) +WITH_THREADS=0 THREAD_LIBS="" AC_CHECK_HEADER(pthread.h, AC_CHECK_LIB(pthread, pthread_join,[ AC_DEFINE([HAVE_LIBPTHREAD], [], [Define if pthread library is there (-lpthread)]) AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there]) + WITH_THREADS="1" THREAD_LIBS="-lpthread"])) ;; esac +AC_SUBST(WITH_THREADS) AC_SUBST(THREAD_LIBS) dnl @@ -168,7 +171,7 @@ dnl dnl Math detection dnl -AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h ansidecl.h) +AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h) AC_CHECK_HEADERS(sys/timeb.h time.h sys/stat.h sys/select.h stdarg.h) AC_CHECK_HEADERS(errno.h) AC_CHECK_FUNCS(stat _stat) @@ -230,76 +233,107 @@ dnl PYTHON_VERSION= PYTHON_INCLUDES= PYTHON_SITE_PACKAGES= +PYTHON_TESTS= pythondir= -AC_ARG_WITH(python, [ --with-python[=DIR] Build Python bindings if found]) +AC_ARG_WITH(python, +[ --with-python[[=DIR]] build Python bindings if found]) +AC_ARG_WITH(python_install_dir, +[ --with-python-install-dir=DIR + install Python bindings in DIR]) if test "$with_python" != "no" ; then if test -x "$with_python/bin/python" then echo Found python in $with_python/bin/python PYTHON="$with_python/bin/python" else - if test -x "$with_python" - then - echo Found python in $with_python - PYTHON="$with_python" - else - if test -x "$PYTHON" + if test -x "$with_python/python.exe" + then + echo Found python in $with_python/python.exe + PYTHON="$with_python/python.exe" + else + if test -x "$with_python" then - echo Found python in environment PYTHON=$PYTHON - with_python=`$PYTHON -c "import sys; print sys.exec_prefix"` - else - AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5) + echo Found python in $with_python + PYTHON="$with_python" + else + if test -x "$PYTHON" + then + echo Found python in environment PYTHON=$PYTHON + with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"` + else + AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5) + fi fi fi fi if test "$PYTHON" != "" then - echo "PYTHON is pointing at $PYTHON" - PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"` + PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"` + PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"` +# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python +# +# PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"` echo Found Python version $PYTHON_VERSION - LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1 -except: print 0"` + LIBXML2_PYTHON=`$PYTHON -c "import sys +try: + import libxml2 + sys.stdout.write('1') +except: + sys.stdout.write('0') +"` if test "$LIBXML2_PYTHON" = "1" then echo Found libxml2-python module else echo Warning: Missing libxml2-python - fi + fi fi - if test "$PYTHON_VERSION" != "" + if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = "" then - if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \ - -d $with_python/lib/python$PYTHON_VERSION/site-packages + if test -r $with_python/include/python$PYTHON_VERSION/Python.h then PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION - PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages' else if test -r $prefix/include/python$PYTHON_VERSION/Python.h then PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION - PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages' else if test -r /usr/include/python$PYTHON_VERSION/Python.h then PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION - PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages' else - echo could not find python$PYTHON_VERSION/Python.h + if test -r $with_python/include/Python.h + then + PYTHON_INCLUDES=$with_python/include + else + echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h + fi fi fi - if test ! -d "$PYTHON_SITE_PACKAGES" - then - PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"` - fi fi - PYTHON_LIBS=`python$PYTHON_VERSION-config --libs` fi - if test "$with_python" != "" + if test "$with_python_install_dir" != "" then - pythondir='$(PYTHON_SITE_PACKAGES)' - else - pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages' + PYTHON_SITE_PACKAGES="$with_python_install_dir" fi + if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = "" + then + if test -d $libdir/python$PYTHON_VERSION/site-packages + then + PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages + else + if test -d $with_python/lib/site-packages + then + PYTHON_SITE_PACKAGES=$with_python/lib/site-packages + else + PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"` + fi + fi + fi + pythondir='$(PYTHON_SITE_PACKAGES)' + PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags` +else + PYTHON= fi AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "") if test "$PYTHON_INCLUDES" != "" @@ -474,7 +508,7 @@ if test "${GCC}" != "yes" ; then ;; esac else - CFLAGS="${CFLAGS} -Wall -Wextra -Wformat=2 -Wmissing-format-attribute" + CFLAGS="${CFLAGS} -Wall -Wextra -Wformat=2 -Wmissing-format-attribute -Wshadow" case "${host}" in alpha*-*-linux* ) CFLAGS="${CFLAGS} -mieee" @@ -491,6 +525,7 @@ dnl build_shared_libs="yes" build_static_libs="yes" +xml_config_dynamic= if test "$enable_shared" = "no"; then build_shared_libs="no" @@ -515,10 +550,11 @@ if test "x$LIBXML_SRC" != "x"; then XML_CONFIG="${LIBXML_SRC}/xml2-config" LIBXML_CFLAGS="-I${LIBXML_SRC}/include" if test "$build_static_libs" = "no"; then - LIBXML_LIBS="-L${LIBXML_SRC} `$XML_CONFIG --libs --dynamic`" - else - LIBXML_LIBS="-L${LIBXML_SRC} `$XML_CONFIG --libs`" + if $XML_CONFIG --help | grep -q '\--dynamic'; then + xml_config_dynamic=--dynamic + fi fi + LIBXML_LIBS="-L${LIBXML_SRC} `$XML_CONFIG --libs $xml_config_dynamic`" WITH_MODULES="`$XML_CONFIG --modules`" cd $CWD else @@ -546,7 +582,7 @@ dnl make sure xml2-config is executable, dnl test version and init our variables dnl -if test "x$LIBXML_LIBS" = "x" && ${XML_CONFIG} --libs print > /dev/null 2>&1 +if test "x$LIBXML_LIBS" = "x" && ${XML_CONFIG} --libs > /dev/null 2>&1 then AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION) XMLVERS=`$XML_CONFIG --version` @@ -557,12 +593,13 @@ then fi if test "$build_static_libs" = "no"; then - LIBXML_LIBS="`$XML_CONFIG --libs --dynamic`" - else - LIBXML_LIBS="`$XML_CONFIG --libs`" + if $XML_CONFIG --help | grep -q '\--dynamic'; then + xml_config_dynamic=--dynamic + fi fi - LIBXML_CFLAGS="`$XML_CONFIG --cflags`" - WITH_MODULES="`$XML_CONFIG --modules`" + LIBXML_LIBS="`$XML_CONFIG --libs $xml_config_dynamic`" + LIBXML_CFLAGS="`$XML_CONFIG --cflags`" + WITH_MODULES="`$XML_CONFIG --modules`" fi if test "x$LIBXML_LIBS" = "x" @@ -672,6 +709,7 @@ AC_CONFIG_FILES([ Makefile libxslt.pc libexslt.pc +libxslt-config.cmake libxslt/Makefile libxslt/xsltconfig.h libxslt/xsltwin32config.h @@ -712,6 +750,10 @@ doc/Makefile xslt-config libxslt.spec ]) +if test "$CRYPTO_TESTDIR" != "" +then + AC_CONFIG_FILES(["tests/exslt/$CRYPTO_TESTDIR/Makefile"]) +fi AC_CONFIG_LINKS([tests/fuzz/xpath.xml:tests/fuzz/xpath.xml]) AC_CONFIG_LINKS([tests/fuzz/xslt.xml:tests/fuzz/xslt.xml]) diff --git a/chromium/third_party/libxslt/src/libexslt/Makefile.am b/chromium/third_party/libxslt/src/libexslt/Makefile.am index de1104c2c55..c8dae32addc 100644 --- a/chromium/third_party/libxslt/src/libexslt/Makefile.am +++ b/chromium/third_party/libxslt/src/libexslt/Makefile.am @@ -27,7 +27,7 @@ libexslt_la_SOURCES = \ libexslt.h \ dynamic.c -libexslt_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS) $(LIBGCRYPT_LIBS) $(M_LIBS) +libexslt_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(LIBXML_LIBS) $(EXTRA_LIBS) $(LIBGCRYPT_LIBS) $(M_LIBS) libexslt_la_LDFLAGS = -version-info $(LIBEXSLT_VERSION_INFO) man_MANS = libexslt.3 diff --git a/chromium/third_party/libxslt/src/libexslt/common.c b/chromium/third_party/libxslt/src/libexslt/common.c index 1a444f321e2..54405f681c7 100644 --- a/chromium/third_party/libxslt/src/libexslt/common.c +++ b/chromium/third_party/libxslt/src/libexslt/common.c @@ -1,17 +1,10 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> diff --git a/chromium/third_party/libxslt/src/libexslt/crypto.c b/chromium/third_party/libxslt/src/libexslt/crypto.c index 621fd904eb4..35d1f4fe4b7 100644 --- a/chromium/third_party/libxslt/src/libexslt/crypto.c +++ b/chromium/third_party/libxslt/src/libexslt/crypto.c @@ -1,12 +1,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> @@ -14,7 +8,6 @@ #include <libxml/encoding.h> #include <libxml/uri.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> @@ -101,7 +94,7 @@ exsltCryptoHex2Bin (const unsigned char *hex, int hexlen, else if (tmp >= 'a' && tmp <= 'f') lo = 10 + (tmp - 'a'); - result = hi << 4; + result = (unsigned char) (hi << 4); result += lo; bin[j++] = result; } diff --git a/chromium/third_party/libxslt/src/libexslt/date.c b/chromium/third_party/libxslt/src/libexslt/date.c index 1ef2a0acc09..8f34a75f7f0 100644 --- a/chromium/third_party/libxslt/src/libexslt/date.c +++ b/chromium/third_party/libxslt/src/libexslt/date.c @@ -22,12 +22,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #if defined(HAVE_LOCALTIME_R) && defined(__GLIBC__) /* _POSIX_SOURCE required by gnu libc */ #ifndef _AIX51 /* but on AIX we're not using gnu libc */ #define _POSIX_SOURCE @@ -38,7 +32,6 @@ #include <libxml/xpath.h> #include <libxml/xpathInternals.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> @@ -1032,6 +1025,9 @@ exsltDateParseDuration (const xmlChar *duration) if (*cur++ != 'P') return NULL; + if (*cur == 0) + return NULL; + dur = exsltDateCreateDuration(); if (dur == NULL) return NULL; @@ -3110,14 +3106,17 @@ exsltDateDuration (const xmlChar *number) else secs = xmlXPathCastStringToNumber(number); - if ((xmlXPathIsNaN(secs)) || (xmlXPathIsInf(secs))) + if (xmlXPathIsNaN(secs)) + return NULL; + + days = floor(secs / SECS_PER_DAY); + if ((days <= (double)LONG_MIN) || (days >= (double)LONG_MAX)) return NULL; dur = exsltDateCreateDuration(); if (dur == NULL) return NULL; - days = floor(secs / SECS_PER_DAY); dur->day = (long)days; dur->sec = secs - days * SECS_PER_DAY; diff --git a/chromium/third_party/libxslt/src/libexslt/dynamic.c b/chromium/third_party/libxslt/src/libexslt/dynamic.c index 9e116283584..91ceb4094a6 100644 --- a/chromium/third_party/libxslt/src/libexslt/dynamic.c +++ b/chromium/third_party/libxslt/src/libexslt/dynamic.c @@ -23,17 +23,10 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> @@ -195,19 +188,19 @@ exsltDynMapFunction(xmlXPathParserContextPtr ctxt, int nargs) break; case XPATH_BOOLEAN: if (container != NULL) { - xmlNodePtr cur = - xmlNewChild((xmlNodePtr) container, NULL, - BAD_CAST "boolean", - BAD_CAST (subResult-> - boolval ? "true" : "")); - if (cur != NULL) { - cur->ns = - xmlNewNs(cur, + xmlNodePtr newChildNode = + xmlNewTextChild((xmlNodePtr) container, NULL, + BAD_CAST "boolean", + BAD_CAST (subResult-> + boolval ? "true" : "")); + if (newChildNode != NULL) { + newChildNode->ns = + xmlNewNs(newChildNode, BAD_CAST "http://exslt.org/common", BAD_CAST "exsl"); xmlXPathNodeSetAddUnique(ret->nodesetval, - cur); + newChildNode); } } break; @@ -216,37 +209,37 @@ exsltDynMapFunction(xmlXPathParserContextPtr ctxt, int nargs) xmlChar *val = xmlXPathCastNumberToString(subResult-> floatval); - xmlNodePtr cur = - xmlNewChild((xmlNodePtr) container, NULL, - BAD_CAST "number", val); + xmlNodePtr newChildNode = + xmlNewTextChild((xmlNodePtr) container, NULL, + BAD_CAST "number", val); if (val != NULL) xmlFree(val); - if (cur != NULL) { - cur->ns = - xmlNewNs(cur, + if (newChildNode != NULL) { + newChildNode->ns = + xmlNewNs(newChildNode, BAD_CAST "http://exslt.org/common", BAD_CAST "exsl"); xmlXPathNodeSetAddUnique(ret->nodesetval, - cur); + newChildNode); } } break; case XPATH_STRING: if (container != NULL) { - xmlNodePtr cur = - xmlNewChild((xmlNodePtr) container, NULL, - BAD_CAST "string", - subResult->stringval); - if (cur != NULL) { - cur->ns = - xmlNewNs(cur, + xmlNodePtr newChildNode = + xmlNewTextChild((xmlNodePtr) container, NULL, + BAD_CAST "string", + subResult->stringval); + if (newChildNode != NULL) { + newChildNode->ns = + xmlNewNs(newChildNode, BAD_CAST "http://exslt.org/common", BAD_CAST "exsl"); xmlXPathNodeSetAddUnique(ret->nodesetval, - cur); + newChildNode); } } break; diff --git a/chromium/third_party/libxslt/src/libexslt/exslt.c b/chromium/third_party/libxslt/src/libexslt/exslt.c index 0bccf178881..13cda683b14 100644 --- a/chromium/third_party/libxslt/src/libexslt/exslt.c +++ b/chromium/third_party/libxslt/src/libexslt/exslt.c @@ -1,11 +1,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#include <libxml/xmlversion.h> - -#include "config.h" - -#include <libxslt/xsltconfig.h> #include <libxslt/extensions.h> #include <libexslt/exsltconfig.h> diff --git a/chromium/third_party/libxslt/src/libexslt/exsltconfig.h.in b/chromium/third_party/libxslt/src/libexslt/exsltconfig.h.in index 03b4b3b6951..0d3efc9085c 100644 --- a/chromium/third_party/libxslt/src/libexslt/exsltconfig.h.in +++ b/chromium/third_party/libxslt/src/libexslt/exsltconfig.h.in @@ -18,7 +18,7 @@ extern "C" { * * the version string like "1.2.3" */ -#define LIBEXSLT_DOTTED_VERSION "@VERSION@" +#define LIBEXSLT_DOTTED_VERSION "@LIBEXSLT_VERSION@" /** * LIBEXSLT_VERSION: @@ -56,9 +56,6 @@ extern "C" { * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ -#ifdef HAVE_ANSIDECL_H -#include <ansidecl.h> -#endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif diff --git a/chromium/third_party/libxslt/src/libexslt/functions.c b/chromium/third_party/libxslt/src/libexslt/functions.c index 2f744311c0d..958bf60e78a 100644 --- a/chromium/third_party/libxslt/src/libexslt/functions.c +++ b/chromium/third_party/libxslt/src/libexslt/functions.c @@ -1,12 +1,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <string.h> #include <libxml/tree.h> diff --git a/chromium/third_party/libxslt/src/libexslt/math.c b/chromium/third_party/libxslt/src/libexslt/math.c index f1aa0ba5363..b70f2eb5837 100644 --- a/chromium/third_party/libxslt/src/libexslt/math.c +++ b/chromium/third_party/libxslt/src/libexslt/math.c @@ -1,17 +1,10 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> diff --git a/chromium/third_party/libxslt/src/libexslt/saxon.c b/chromium/third_party/libxslt/src/libexslt/saxon.c index e8b64406a3c..8512c6dedad 100644 --- a/chromium/third_party/libxslt/src/libexslt/saxon.c +++ b/chromium/third_party/libxslt/src/libexslt/saxon.c @@ -1,19 +1,12 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> #include <libxml/parser.h> #include <libxml/hash.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> diff --git a/chromium/third_party/libxslt/src/libexslt/sets.c b/chromium/third_party/libxslt/src/libexslt/sets.c index c7142ff1f6f..a4b55460244 100644 --- a/chromium/third_party/libxslt/src/libexslt/sets.c +++ b/chromium/third_party/libxslt/src/libexslt/sets.c @@ -1,12 +1,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> diff --git a/chromium/third_party/libxslt/src/libexslt/strings.c b/chromium/third_party/libxslt/src/libexslt/strings.c index 14d9172f589..5d429ec6082 100644 --- a/chromium/third_party/libxslt/src/libexslt/strings.c +++ b/chromium/third_party/libxslt/src/libexslt/strings.c @@ -1,12 +1,6 @@ #define IN_LIBEXSLT #include "libexslt/libexslt.h" -#if defined(_WIN32) && !defined (__CYGWIN__) && (!__MINGW32__) -#include <win32config.h> -#else -#include "config.h" -#endif - #include <libxml/tree.h> #include <libxml/xpath.h> #include <libxml/xpathInternals.h> @@ -14,7 +8,6 @@ #include <libxml/encoding.h> #include <libxml/uri.h> -#include <libxslt/xsltconfig.h> #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <libxslt/extensions.h> diff --git a/chromium/third_party/libxslt/src/libxslt-config.cmake.cmake.in b/chromium/third_party/libxslt/src/libxslt-config.cmake.cmake.in new file mode 100644 index 00000000000..65003707aa8 --- /dev/null +++ b/chromium/third_party/libxslt/src/libxslt-config.cmake.cmake.in @@ -0,0 +1,98 @@ +set(LIBXSLT_VERSION "@VERSION@") +set(LIBXSLT_VERSION_MAJOR "@LIBXSLT_MAJOR_VERSION@") +set(LIBXSLT_VERSION_MINOR "@LIBXSLT_MINOR_VERSION@") +set(LIBXSLT_VERSION_PATCH "@LIBXSLT_MICRO_VERSION@") + +set(LIBEXSLT_VERSION "@LIBEXSLT_VERSION@") +set(LIBEXSLT_VERSION_MAJOR "@LIBEXSLT_MAJOR_VERSION@") +set(LIBEXSLT_VERSION_MINOR "@LIBEXSLT_MINOR_VERSION@") +set(LIBEXSLT_VERSION_PATCH "@LIBEXSLT_MICRO_VERSION@") + +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/libxslt-export.cmake") + +set(LIBXSLT_DEFINITIONS "") +set(LIBXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") +set(LIBXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") +set(LIBXSLT_EXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") +set(LIBXSLT_EXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") + +macro(select_library_location target basename) + if(TARGET ${target}) + foreach(property IN ITEMS IMPORTED_LOCATION IMPORTED_IMPLIB) + get_target_property(${basename}_${property}_DEBUG ${target} ${property}_DEBUG) + get_target_property(${basename}_${property}_MINSIZEREL ${target} ${property}_MINSIZEREL) + get_target_property(${basename}_${property}_RELEASE ${target} ${property}_RELEASE) + get_target_property(${basename}_${property}_RELWITHDEBINFO ${target} ${property}_RELWITHDEBINFO) + + if(${basename}_${property}_DEBUG AND ${basename}_${property}_RELEASE) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_DEBUG AND ${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARY debug ${${basename}_${property}_DEBUG} optimized ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_RELEASE) + set(${basename}_LIBRARY ${${basename}_${property}_RELEASE}) + elseif(${basename}_${property}_RELWITHDEBINFO) + set(${basename}_LIBRARY ${${basename}_${property}_RELWITHDEBINFO}) + elseif(${basename}_${property}_MINSIZEREL) + set(${basename}_LIBRARY ${${basename}_${property}_MINSIZEREL}) + elseif(${basename}_${property}_DEBUG) + set(${basename}_LIBRARY ${${basename}_${property}_DEBUG}) + endif() + endforeach() + endif() +endmacro() + +macro(select_executable_location target basename) + if(TARGET ${target}) + get_target_property(${basename}_IMPORTED_LOCATION_DEBUG ${target} IMPORTED_LOCATION_DEBUG) + get_target_property(${basename}_IMPORTED_LOCATION_MINSIZEREL ${target} IMPORTED_LOCATION_MINSIZEREL) + get_target_property(${basename}_IMPORTED_LOCATION_RELEASE ${target} IMPORTED_LOCATION_RELEASE) + get_target_property(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO ${target} IMPORTED_LOCATION_RELWITHDEBINFO) + + if(${basename}_IMPORTED_LOCATION_RELEASE) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELEASE}) + elseif(${basename}_IMPORTED_LOCATION_RELWITHDEBINFO) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_RELWITHDEBINFO}) + elseif(${basename}_IMPORTED_LOCATION_MINSIZEREL) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_MINSIZEREL}) + elseif(${basename}_IMPORTED_LOCATION_DEBUG) + set(${basename}_EXECUTABLE ${${basename}_IMPORTED_LOCATION_DEBUG}) + endif() + endif() +endmacro() + +select_library_location(LibXslt::LibXslt LIBXSLT) +select_library_location(LibXslt::LibExslt LIBXSLT_EXSLT) +select_executable_location(LibXslt::xsltproc LIBXSLT_XSLTPROC) + +set(LIBXSLT_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIR}) +set(LIBXSLT_LIBRARIES ${LIBXSLT_LIBRARY}) +set(LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXSLT_EXSLT_INCLUDE_DIR}) +set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY}) + +include(CMakeFindDependencyMacro) + +set(LIBXSLT_SHARED @BUILD_SHARED_LIBS@) +set(LIBXSLT_WITH_CRYPTO @LIBXSLT_WITH_CRYPTO@) + +find_dependency(LibXml2 CONFIG) +list(APPEND LIBXSLT_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIRS}) +list(APPEND LIBXSLT_LIBRARIES ${LIBXML2_LIBRARIES}) + +if(NOT LIBXSLT_SHARED) + if(LIBXSLT_WITH_CRYPTO) + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + find_dependency(Gcrypt) + list(APPEND LIBXSLT_EXSLT_LIBRARIES ${GCRYPT_LIBRARIES}) + endif() + + if(UNIX) + list(APPEND LIBXSLT_LIBRARIES m) + endif() +endif() + +list(APPEND LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIRS}) +list(APPEND LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_LIBRARIES}) diff --git a/chromium/third_party/libxslt/src/libxslt-config.cmake.in b/chromium/third_party/libxslt/src/libxslt-config.cmake.in new file mode 100644 index 00000000000..44deee1ba2a --- /dev/null +++ b/chromium/third_party/libxslt/src/libxslt-config.cmake.in @@ -0,0 +1,112 @@ +# libxslt-config.cmake +# -------------------- +# +# libxlst CMake module. +# This module sets the following variables: +# +# :: +# +# LIBXSLT_INCLUDE_DIR - directory where libxslt headers are located +# LIBXSLT_INCLUDE_DIRS - list of the include directories needed to use libxslt +# LIBXSLT_LIBRARY - path to the libxslt library +# LIBXSLT_LIBRARIES - xslt libraries to link against +# LIBXSLT_DEFINITIONS - the compiler switches required for using libxslt +# LIBXSLT_VERSION_MAJOR - the major version of libxslt +# LIBXSLT_VERSION_MINOR - the minor version of libxslt +# LIBXSLT_VERSION_PATCH - the patch version of libxslt +# LIBXSLT_VERSION - libxslt version number as a string (ex: "1.1.34") +# LIBXSLT_XSLTPROC_EXECUTABLE - path to xsltproc +# +# LIBXSLT_EXSLT_INCLUDE_DIR - directory where libexslt headers are located +# LIBXSLT_EXSLT_INCLUDE_DIRS - list of the include directories needed to use libexslt +# LIBXSLT_EXSLT_LIBRARY - path to the libexslt library +# LIBXSLT_EXSLT_LIBRARIES - exslt libraries to link against +# LIBXSLT_EXSLT_DEFINITIONS - the compiler switches required for using libexslt +# LIBEXSLT_VERSION_MAJOR - the major version of libexslt +# LIBEXSLT_VERSION_MINOR - the minor version of libexslt +# LIBEXSLT_VERSION_PATCH - the patch version of libexslt +# LIBEXSLT_VERSION - libexslt version number as a string (ex: "0.8.20") +# +# The following targets are defined: +# +# LibXslt::LibXslt - the libxslt library +# LibXslt::LibExslt - the libexslt library +# LibXslt::xsltproc - the xsltproc command-line executable + +set(LIBXSLT_VERSION "@VERSION@") +set(LIBXSLT_VERSION_MAJOR "@LIBXSLT_MAJOR_VERSION@") +set(LIBXSLT_VERSION_MINOR "@LIBXSLT_MINOR_VERSION@") +set(LIBXSLT_VERSION_PATCH "@LIBXSLT_MICRO_VERSION@") + +set(LIBEXSLT_VERSION "@LIBEXSLT_VERSION@") +set(LIBEXSLT_VERSION_MAJOR "@LIBEXSLT_MAJOR_VERSION@") +set(LIBEXSLT_VERSION_MINOR "@LIBEXSLT_MINOR_VERSION@") +set(LIBEXSLT_VERSION_PATCH "@LIBEXSLT_MICRO_VERSION@") + +get_filename_component(PACKAGE_PREFIX_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../ ABSOLUTE) + +set(LIBXSLT_DEFINITIONS "") +set(LIBXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include") +set(LIBXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib") +set(LIBXSLT_EXSLT_DEFINITIONS "") +set(LIBXSLT_EXSLT_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include") +set(LIBXSLT_EXSLT_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib") + +find_library(LIBXSLT_LIBRARY NAMES xslt HINTS ${LIBXSLT_LIBRARY_DIR} NO_DEFAULT_PATH) +find_library(LIBXSLT_EXSLT_LIBRARY NAMES exslt HINTS ${LIBXSLT_EXSLT_LIBRARY_DIR} NO_DEFAULT_PATH) +find_program(LIBXSLT_XSLTPROC_EXECUTABLE NAMES xsltproc HINTS ${PACKAGE_PREFIX_DIR}/bin NO_DEFAULT_PATH) + +set(LIBXSLT_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIR}) +set(LIBXSLT_LIBRARIES ${LIBXSLT_LIBRARY}) +set(LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXSLT_EXSLT_INCLUDE_DIR}) +set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY}) +unset(LIBXSLT_INTERFACE_LINK_LIBRARIES) +unset(LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES) + +include(CMakeFindDependencyMacro) + +set(LIBXSLT_WITH_CRYPTO @WITH_CRYPTO@) + +find_dependency(LibXml2 CONFIG) +list(APPEND LIBXSLT_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIRS}) +list(APPEND LIBXSLT_LIBRARIES ${LIBXML2_LIBRARIES}) +list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "LibXml2::LibXml2") + +if(LIBXSLT_WITH_CRYPTO) + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + find_dependency(Gcrypt) + list(APPEND LIBXSLT_EXSLT_LIBRARIES ${GCRYPT_LIBRARIES}) + list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:Gcrypt::Gcrypt>") +endif() + +if(UNIX) + list(APPEND LIBXSLT_LIBRARIES m) + list(APPEND LIBXSLT_INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:m>") +endif() + +list(APPEND LIBXSLT_EXSLT_INCLUDE_DIRS ${LIBXSLT_INCLUDE_DIRS}) +list(APPEND LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_LIBRARIES}) +list(APPEND LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES "LibXslt::LibXslt") + +mark_as_advanced(LIBXSLT_LIBRARY LIBXSLT_EXSLT_LIBRARY LIBXSLT_XSLTPROC_EXECUTABLE) + +if(NOT TARGET LibXslt::LibXslt AND DEFINED LIBXSLT_LIBRARY AND DEFINED LIBXSLT_INCLUDE_DIRS) + add_library(LibXslt::LibXslt UNKNOWN IMPORTED) + set_target_properties(LibXslt::LibXslt PROPERTIES IMPORTED_LOCATION "${LIBXSLT_LIBRARY}") + set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXSLT_DEFINITIONS}") + set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXSLT_INCLUDE_DIRS}") + set_target_properties(LibXslt::LibXslt PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXSLT_INTERFACE_LINK_LIBRARIES}") +endif() + +if(NOT TARGET LibXslt::LibExslt AND DEFINED LIBXSLT_EXSLT_LIBRARY AND DEFINED LIBXSLT_EXSLT_INCLUDE_DIRS) + add_library(LibXslt::LibExslt UNKNOWN IMPORTED) + set_target_properties(LibXslt::LibExslt PROPERTIES IMPORTED_LOCATION "${LIBXSLT_EXSLT_LIBRARY}") + set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_COMPILE_OPTIONS "${LIBXSLT_EXSLT_DEFINITIONS}") + set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${LIBXSLT_EXSLT_INCLUDE_DIRS}") + set_target_properties(LibXslt::LibExslt PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBXSLT_EXSLT_INTERFACE_LINK_LIBRARIES}") +endif() + +if(NOT TARGET LibXslt::xsltproc AND DEFINED LIBXSLT_XSLTPROC_EXECUTABLE) + add_executable(LibXslt::xsltproc IMPORTED) + set_target_properties(LibXslt::xsltproc PROPERTIES IMPORTED_LOCATION "${LIBXSLT_XSLTPROC_EXECUTABLE}") +endif() diff --git a/chromium/third_party/libxslt/src/libxslt.spec b/chromium/third_party/libxslt/src/libxslt.spec index 80b320fb869..5311410c938 100644 --- a/chromium/third_party/libxslt/src/libxslt.spec +++ b/chromium/third_party/libxslt/src/libxslt.spec @@ -128,5 +128,5 @@ rm -fr %{buildroot} %doc python/tests/*.xsl %changelog -* Fri Nov 8 2019 Daniel Veillard <veillard@redhat.com> +* Mon Feb 1 2021 Daniel Veillard <veillard@redhat.com> - upstream release 1.1.34 see http://xmlsoft.org/XSLT/news.html diff --git a/chromium/third_party/libxslt/src/libxslt/documents.c b/chromium/third_party/libxslt/src/libxslt/documents.c index 3f3a7312ca8..4aad11bbd1a 100644 --- a/chromium/third_party/libxslt/src/libxslt/documents.c +++ b/chromium/third_party/libxslt/src/libxslt/documents.c @@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) { int res; res = xsltCheckRead(ctxt->sec, ctxt, URI); - if (res == 0) { - xsltTransformError(ctxt, NULL, NULL, - "xsltLoadDocument: read rights for %s denied\n", - URI); + if (res <= 0) { + if (res == 0) + xsltTransformError(ctxt, NULL, NULL, + "xsltLoadDocument: read rights for %s denied\n", + URI); return(NULL); } } @@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) { int res; res = xsltCheckRead(sec, NULL, URI); - if (res == 0) { - xsltTransformError(NULL, NULL, NULL, - "xsltLoadStyleDocument: read rights for %s denied\n", - URI); + if (res <= 0) { + if (res == 0) + xsltTransformError(NULL, NULL, NULL, + "xsltLoadStyleDocument: read rights for %s denied\n", + URI); return(NULL); } } diff --git a/chromium/third_party/libxslt/src/libxslt/functions.c b/chromium/third_party/libxslt/src/libxslt/functions.c index b350545a11b..7887dda70f6 100644 --- a/chromium/third_party/libxslt/src/libxslt/functions.c +++ b/chromium/third_party/libxslt/src/libxslt/functions.c @@ -178,10 +178,22 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI) goto out_fragment; } +#if LIBXML_VERSION >= 20911 || \ + defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) + xptrctxt->opLimit = ctxt->context->opLimit; + xptrctxt->opCount = ctxt->context->opCount; + xptrctxt->depth = ctxt->context->depth; + + resObj = xmlXPtrEval(fragment, xptrctxt); + + ctxt->context->opCount = xptrctxt->opCount; +#else resObj = xmlXPtrEval(fragment, xptrctxt); - xmlXPathFreeContext(xptrctxt); #endif + xmlXPathFreeContext(xptrctxt); +#endif /* LIBXML_XPTR_ENABLED */ + if (resObj == NULL) goto out_fragment; diff --git a/chromium/third_party/libxslt/src/libxslt/imports.c b/chromium/third_party/libxslt/src/libxslt/imports.c index 874870cca90..3783b2476d9 100644 --- a/chromium/third_party/libxslt/src/libxslt/imports.c +++ b/chromium/third_party/libxslt/src/libxslt/imports.c @@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) { int secres; secres = xsltCheckRead(sec, NULL, URI); - if (secres == 0) { - xsltTransformError(NULL, NULL, NULL, - "xsl:import: read rights for %s denied\n", - URI); + if (secres <= 0) { + if (secres == 0) + xsltTransformError(NULL, NULL, NULL, + "xsl:import: read rights for %s denied\n", + URI); goto error; } } diff --git a/chromium/third_party/libxslt/src/libxslt/numbers.c b/chromium/third_party/libxslt/src/libxslt/numbers.c index 92023f8a509..4cb21254f4f 100644 --- a/chromium/third_party/libxslt/src/libxslt/numbers.c +++ b/chromium/third_party/libxslt/src/libxslt/numbers.c @@ -177,7 +177,7 @@ xsltNumberFormatDecimal(xmlBufferPtr buffer, i = -1; break; } - *(--pointer) = val; + *(--pointer) = (xmlChar)val; } else { /* @@ -960,7 +960,7 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, xmlChar *nprefix, *nsuffix = NULL; int prefix_length, suffix_length = 0, nprefix_length, nsuffix_length; double scale; - int j, len; + int j, len = 0; int self_grouping_len; xsltFormatNumberInfo format_info; /* diff --git a/chromium/third_party/libxslt/src/libxslt/preproc.h b/chromium/third_party/libxslt/src/libxslt/preproc.h index caf464ad10f..2a2fc7e4305 100644 --- a/chromium/third_party/libxslt/src/libxslt/preproc.h +++ b/chromium/third_party/libxslt/src/libxslt/preproc.h @@ -22,7 +22,7 @@ extern "C" { /* * Interfaces */ -extern const xmlChar *xsltExtMarker; +XSLTPUBVAR const xmlChar *xsltExtMarker; XSLTPUBFUN xsltElemPreCompPtr XSLTCALL xsltDocumentComp (xsltStylesheetPtr style, diff --git a/chromium/third_party/libxslt/src/libxslt/templates.c b/chromium/third_party/libxslt/src/libxslt/templates.c index 48b73a53c42..4108ed26e47 100644 --- a/chromium/third_party/libxslt/src/libxslt/templates.c +++ b/chromium/third_party/libxslt/src/libxslt/templates.c @@ -210,6 +210,8 @@ xsltEvalTemplateString(xsltTransformContextPtr ctxt, { xmlNodePtr oldInsert, insert = NULL; xmlChar *ret; + const xmlChar *oldLastText; + int oldLastTextSize, oldLastTextUse; if ((ctxt == NULL) || (contextNode == NULL) || (inst == NULL) || (inst->type != XML_ELEMENT_NODE)) @@ -233,12 +235,18 @@ xsltEvalTemplateString(xsltTransformContextPtr ctxt, } oldInsert = ctxt->insert; ctxt->insert = insert; + oldLastText = ctxt->lasttext; + oldLastTextSize = ctxt->lasttsize; + oldLastTextUse = ctxt->lasttuse; /* * OPTIMIZE TODO: if inst->children consists only of text-nodes. */ xsltApplyOneTemplate(ctxt, contextNode, inst->children, NULL, NULL); ctxt->insert = oldInsert; + ctxt->lasttext = oldLastText; + ctxt->lasttsize = oldLastTextSize; + ctxt->lasttuse = oldLastTextUse; ret = xmlNodeGetContent(insert); if (insert != NULL) diff --git a/chromium/third_party/libxslt/src/libxslt/transform.c b/chromium/third_party/libxslt/src/libxslt/transform.c index fd02369cb00..3aba354fe7f 100644 --- a/chromium/third_party/libxslt/src/libxslt/transform.c +++ b/chromium/third_party/libxslt/src/libxslt/transform.c @@ -1895,7 +1895,7 @@ static void xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStackElemPtr params) { xmlNodePtr copy; - xmlNodePtr delete = NULL, cur; + xmlNodePtr cur; int nbchild = 0, oldSize; int childno = 0, oldPos; xsltTemplatePtr template; @@ -1968,54 +1968,13 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node, return; } /* - * Handling of Elements: first pass, cleanup and counting + * Handling of Elements: first pass, counting */ cur = node->children; while (cur != NULL) { - switch (cur->type) { - case XML_TEXT_NODE: - case XML_CDATA_SECTION_NODE: - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - case XML_ELEMENT_NODE: - case XML_PI_NODE: - case XML_COMMENT_NODE: - nbchild++; - break; - case XML_DTD_NODE: - /* Unlink the DTD, it's still reachable using doc->intSubset */ - if (cur->next != NULL) - cur->next->prev = cur->prev; - if (cur->prev != NULL) - cur->prev->next = cur->next; - break; - default: -#ifdef WITH_XSLT_DEBUG_PROCESS - XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, - "xsltDefaultProcessOneNode: skipping node type %d\n", - cur->type)); -#endif - delete = cur; - } + if (IS_XSLT_REAL_NODE(cur)) + nbchild++; cur = cur->next; - if (delete != NULL) { -#ifdef WITH_XSLT_DEBUG_PROCESS - XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, - "xsltDefaultProcessOneNode: removing ignorable blank node\n")); -#endif - xmlUnlinkNode(delete); - xmlFreeNode(delete); - delete = NULL; - } - } - if (delete != NULL) { -#ifdef WITH_XSLT_DEBUG_PROCESS - XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, - "xsltDefaultProcessOneNode: removing ignorable blank node\n")); -#endif - xmlUnlinkNode(delete); - xmlFreeNode(delete); - delete = NULL; } /* @@ -3523,10 +3482,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node, */ if (ctxt->sec != NULL) { ret = xsltCheckWrite(ctxt->sec, ctxt, filename); - if (ret == 0) { - xsltTransformError(ctxt, NULL, inst, - "xsltDocumentElem: write rights for %s denied\n", - filename); + if (ret <= 0) { + if (ret == 0) + xsltTransformError(ctxt, NULL, inst, + "xsltDocumentElem: write rights for %s denied\n", + filename); xmlFree(URL); xmlFree(filename); return; @@ -4863,7 +4823,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylePreCompPtr comp = (xsltStylePreCompPtr) castedComp; #endif int i; - xmlNodePtr cur, delNode = NULL, oldContextNode; + xmlNodePtr cur, oldContextNode; xmlNodeSetPtr list = NULL, oldList; xsltStackElemPtr withParams = NULL; int oldXPProximityPosition, oldXPContextSize; @@ -4997,73 +4957,9 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node, else cur = NULL; while (cur != NULL) { - switch (cur->type) { - case XML_TEXT_NODE: - if ((IS_BLANK_NODE(cur)) && - (cur->parent != NULL) && - (cur->parent->type == XML_ELEMENT_NODE) && - (ctxt->style->stripSpaces != NULL)) { - const xmlChar *val; - - if (cur->parent->ns != NULL) { - val = (const xmlChar *) - xmlHashLookup2(ctxt->style->stripSpaces, - cur->parent->name, - cur->parent->ns->href); - if (val == NULL) { - val = (const xmlChar *) - xmlHashLookup2(ctxt->style->stripSpaces, - BAD_CAST "*", - cur->parent->ns->href); - } - } else { - val = (const xmlChar *) - xmlHashLookup2(ctxt->style->stripSpaces, - cur->parent->name, NULL); - } - if ((val != NULL) && - (xmlStrEqual(val, (xmlChar *) "strip"))) { - delNode = cur; - break; - } - } - /* Intentional fall-through */ - case XML_ELEMENT_NODE: - case XML_DOCUMENT_NODE: - case XML_HTML_DOCUMENT_NODE: - case XML_CDATA_SECTION_NODE: - case XML_PI_NODE: - case XML_COMMENT_NODE: - xmlXPathNodeSetAddUnique(list, cur); - break; - case XML_DTD_NODE: - /* Unlink the DTD, it's still reachable - * using doc->intSubset */ - if (cur->next != NULL) - cur->next->prev = cur->prev; - if (cur->prev != NULL) - cur->prev->next = cur->next; - break; - case XML_NAMESPACE_DECL: - break; - default: -#ifdef WITH_XSLT_DEBUG_PROCESS - XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext, - "xsltApplyTemplates: skipping cur type %d\n", - cur->type)); -#endif - delNode = cur; - } + if (IS_XSLT_REAL_NODE(cur)) + xmlXPathNodeSetAddUnique(list, cur); cur = cur->next; - if (delNode != NULL) { -#ifdef WITH_XSLT_DEBUG_PROCESS - XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext, - "xsltApplyTemplates: removing ignorable blank cur\n")); -#endif - xmlUnlinkNode(delNode); - xmlFreeNode(delNode); - delNode = NULL; - } } } @@ -5120,6 +5016,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr sorts[XSLT_MAX_SORT]; sorts[nbsorts++] = cur; + cur = cur->next; while (cur) { diff --git a/chromium/third_party/libxslt/src/libxslt/xslt.c b/chromium/third_party/libxslt/src/libxslt/xslt.c index 4164ad1d1cb..7a1ce011de1 100644 --- a/chromium/third_party/libxslt/src/libxslt/xslt.c +++ b/chromium/third_party/libxslt/src/libxslt/xslt.c @@ -6764,10 +6764,11 @@ xsltParseStylesheetFile(const xmlChar* filename) { int res; res = xsltCheckRead(sec, NULL, filename); - if (res == 0) { - xsltTransformError(NULL, NULL, NULL, - "xsltParseStylesheetFile: read rights for %s denied\n", - filename); + if (res <= 0) { + if (res == 0) + xsltTransformError(NULL, NULL, NULL, + "xsltParseStylesheetFile: read rights for %s denied\n", + filename); return(NULL); } } diff --git a/chromium/third_party/libxslt/src/libxslt/xsltconfig.h b/chromium/third_party/libxslt/src/libxslt/xsltconfig.h index 7f5c184da49..e10800d9968 100644 --- a/chromium/third_party/libxslt/src/libxslt/xsltconfig.h +++ b/chromium/third_party/libxslt/src/libxslt/xsltconfig.h @@ -142,9 +142,6 @@ extern "C" { * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ -#ifdef HAVE_ANSIDECL_H -#include <ansidecl.h> -#endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif diff --git a/chromium/third_party/libxslt/src/libxslt/xsltconfig.h.in b/chromium/third_party/libxslt/src/libxslt/xsltconfig.h.in index ec4844afefb..726e444db14 100644 --- a/chromium/third_party/libxslt/src/libxslt/xsltconfig.h.in +++ b/chromium/third_party/libxslt/src/libxslt/xsltconfig.h.in @@ -142,9 +142,6 @@ extern "C" { * This macro is used to flag unused function parameters to GCC */ #ifdef __GNUC__ -#ifdef HAVE_ANSIDECL_H -#include <ansidecl.h> -#endif #ifndef ATTRIBUTE_UNUSED #define ATTRIBUTE_UNUSED __attribute__((unused)) #endif diff --git a/chromium/third_party/libxslt/src/libxslt/xsltlocale.c b/chromium/third_party/libxslt/src/libxslt/xsltlocale.c index c69735cd2a2..39980f8de9d 100644 --- a/chromium/third_party/libxslt/src/libxslt/xsltlocale.c +++ b/chromium/third_party/libxslt/src/libxslt/xsltlocale.c @@ -346,7 +346,8 @@ xsltDefaultRegion(const xmlChar *localeName) { void xsltFreeLocale(xsltLocale locale) { #ifdef XSLT_LOCALE_POSIX - freelocale(locale); + if (locale != NULL) + freelocale(locale); #endif } diff --git a/chromium/third_party/libxslt/src/libxslt/xsltutils.c b/chromium/third_party/libxslt/src/libxslt/xsltutils.c index 94097b9d209..bc52c7618c6 100644 --- a/chromium/third_party/libxslt/src/libxslt/xsltutils.c +++ b/chromium/third_party/libxslt/src/libxslt/xsltutils.c @@ -1102,7 +1102,8 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, int depth; xmlNodePtr node; xmlXPathObjectPtr tmp; - int tempstype[XSLT_MAX_SORT], temporder[XSLT_MAX_SORT]; + int tempstype[XSLT_MAX_SORT], temporder[XSLT_MAX_SORT], + templang[XSLT_MAX_SORT]; if ((ctxt == NULL) || (sorts == NULL) || (nbsorts <= 0) || (nbsorts >= XSLT_MAX_SORT)) @@ -1124,7 +1125,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, comp->stype = xsltEvalAttrValueTemplate(ctxt, sorts[j], (const xmlChar *) "data-type", - XSLT_NAMESPACE); + NULL); if (comp->stype != NULL) { tempstype[j] = 1; if (xmlStrEqual(comp->stype, (const xmlChar *) "text")) @@ -1143,7 +1144,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, if ((comp->order == NULL) && (comp->has_order != 0)) { comp->order = xsltEvalAttrValueTemplate(ctxt, sorts[j], (const xmlChar *) "order", - XSLT_NAMESPACE); + NULL); if (comp->order != NULL) { temporder[j] = 1; if (xmlStrEqual(comp->order, (const xmlChar *) "ascending")) @@ -1159,6 +1160,17 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, } } } + templang[j] = 0; + if ((comp->lang == NULL) && (comp->has_lang != 0)) { + xmlChar *lang = xsltEvalAttrValueTemplate(ctxt, sorts[j], + (xmlChar *) "lang", + NULL); + if (lang != NULL) { + templang[j] = 1; + comp->locale = xsltNewLocale(lang); + xmlFree(lang); + } + } } len = list->nodeNr; @@ -1173,7 +1185,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, descending = comp->descending; number = comp->number; if (results == NULL) - return; + goto cleanup; /* Shell's sort of node-set */ for (incr = len / 2; incr > 0; incr /= 2) { @@ -1315,6 +1327,7 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, } } +cleanup: for (j = 0; j < nbsorts; j++) { comp = sorts[j]->psvi; if (tempstype[j] == 1) { @@ -1327,6 +1340,10 @@ xsltDefaultSortFunction(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, xmlFree((void *)(comp->order)); comp->order = NULL; } + if (templang[j] == 1) { + xsltFreeLocale(comp->locale); + comp->locale = (xsltLocale)0; + } if (resultsTab[j] != NULL) { for (i = 0;i < len;i++) xmlXPathFreeObject(resultsTab[j][i]); diff --git a/chromium/third_party/libxslt/src/win32/Makefile.msvc b/chromium/third_party/libxslt/src/win32/Makefile.msvc index 2e4742bbbb3..1f876684920 100644 --- a/chromium/third_party/libxslt/src/win32/Makefile.msvc +++ b/chromium/third_party/libxslt/src/win32/Makefile.msvc @@ -73,6 +73,11 @@ LDFLAGS = $(LDFLAGS) /DEBUG CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 !endif +# append CFLAGS etc. passed on command line +CPPFLAGS = $(CPPFLAGS) $(EXTRA_CPPFLAGS) +CFLAGS = $(CFLAGS) $(EXTRA_CFLAGS) +LDFLAGS = $(LDFLAGS) $(EXTRA_LDFLAGS) + # Libxslt object files. XSLT_OBJS = $(XSLT_INTDIR)\attributes.obj\ $(XSLT_INTDIR)\documents.obj\ diff --git a/chromium/third_party/libxslt/src/win32/configure.js b/chromium/third_party/libxslt/src/win32/configure.js index 56694ccead1..549b942e947 100644 --- a/chromium/third_party/libxslt/src/win32/configure.js +++ b/chromium/third_party/libxslt/src/win32/configure.js @@ -47,6 +47,7 @@ var withIconv = true; var withZlib = false; var withCrypto = true; var withModules = false; +var withProfiler = true; /* Win32 build options. */ var dirSep = "\\"; var compiler = "msvc"; @@ -106,6 +107,7 @@ function usage() txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n"; txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n"; txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n"; + txt += " profiler: Enable Profiler support (" + (withProfiler? "yes" : "no") + ")\n"; txt += "\nWin32 build options, default value given in parentheses:\n\n"; txt += " compiler: Compiler to be used [msvc|mingw] (" + compiler + ")\n"; txt += " cruntime: C-runtime compiler option (only msvc) (" + cruntime + ")\n"; @@ -134,7 +136,7 @@ function usage() file included by our makefile. */ function discoverVersion() { - var fso, cf, vf, ln, s; + var fso, cf, vf, ln, s, m; fso = new ActiveXObject("Scripting.FileSystemObject"); verCvs = ""; if (useCvsVer && fso.FileExists("..\\CVS\\Entries")) { @@ -143,8 +145,8 @@ function discoverVersion() ln = cf.ReadLine(); s = new String(ln); if (s.search(/^\/ChangeLog\//) != -1) { - iDot = s.indexOf("."); - iSlash = s.indexOf("/", iDot); + var iDot = s.indexOf("."); + var iSlash = s.indexOf("/", iDot); verCvs = "CVS" + s.substring(iDot + 1, iSlash); break; } @@ -174,13 +176,13 @@ function discoverVersion() verMicroXslt = m[1]; } else if (s.search(/^LIBEXSLT_MAJOR_VERSION=/) != -1) { vf.WriteLine(s); - verMajorExslt = s.substring(s.indexOf("=") + 1, s.length) + verMajorExslt = s.substring(s.indexOf("=") + 1, s.length); } else if(s.search(/^LIBEXSLT_MINOR_VERSION=/) != -1) { vf.WriteLine(s); - verMinorExslt = s.substring(s.indexOf("=") + 1, s.length) + verMinorExslt = s.substring(s.indexOf("=") + 1, s.length); } else if(s.search(/^LIBEXSLT_MICRO_VERSION=/) != -1) { vf.WriteLine(s); - verMicroExslt = s.substring(s.indexOf("=") + 1, s.length) + verMicroExslt = s.substring(s.indexOf("=") + 1, s.length); } } cf.Close(); @@ -192,6 +194,7 @@ function discoverVersion() vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0")); vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0")); vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0")); + vf.WriteLine("WITH_PROFILER=" + (withProfiler? "1" : "0")); vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0")); vf.WriteLine("STATIC=" + (buildStatic? "1" : "0")); vf.WriteLine("PREFIX=" + buildPrefix); @@ -240,6 +243,8 @@ function configureXslt() of.WriteLine(s.replace(/\@WITH_DEBUGGER\@/, withDebugger? "1" : "0")); } else if (s.search(/\@WITH_MODULES\@/) != -1) { of.WriteLine(s.replace(/\@WITH_MODULES\@/, withModules? "1" : "0")); + } else if (s.search(/\@WITH_PROFILER\@/) != -1) { + of.WriteLine(s.replace(/\@WITH_PROFILER\@/, withProfiler? "1" : "0")); } else if (s.search(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/) != -1) { of.WriteLine(s.replace(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/, "NULL")); } else @@ -343,6 +348,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { withCrypto = strToBool(arg.substring(opt.length + 1, arg.length)); else if (opt == "modules") withModules = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "profiler") + withProfiler = strToBool(arg.substring(opt.length + 1, arg.length)); else if (opt == "compiler") compiler = arg.substring(opt.length + 1, arg.length); else if (opt == "cruntime") @@ -353,8 +360,6 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { buildStatic = strToBool(arg.substring(opt.length + 1, arg.length)); else if (opt == "prefix") buildPrefix = arg.substring(opt.length + 1, arg.length); - else if (opt == "incdir") - buildIncPrefix = arg.substring(opt.length + 1, arg.length); else if (opt == "bindir") buildBinPrefix = arg.substring(opt.length + 1, arg.length); else if (opt == "libdir") @@ -477,6 +482,7 @@ txtOut += " Use iconv: " + boolToStr(withIconv) + "\n"; txtOut += " With zlib: " + boolToStr(withZlib) + "\n"; txtOut += " Crypto: " + boolToStr(withCrypto) + "\n"; txtOut += " Modules: " + boolToStr(withModules) + "\n"; +txtOut += " Profiler: " + boolToStr(withProfiler) + "\n"; txtOut += "\n"; txtOut += "Win32 build configuration\n"; txtOut += "-------------------------\n"; diff --git a/chromium/third_party/libxslt/src/win32/libxslt/libxslt.def b/chromium/third_party/libxslt/src/win32/libxslt/libxslt.def index dc6f1a056b3..a1dad624e3e 100644 --- a/chromium/third_party/libxslt/src/win32/libxslt/libxslt.def +++ b/chromium/third_party/libxslt/src/win32/libxslt/libxslt.def @@ -1,149 +1,149 @@ -
-LIBRARY libxslt
-EXPORTS
-
- xsltNewStylesheet
- xsltParseStylesheetFile
- xsltFreeStylesheet
- xsltIsBlank
- xsltFreeStackElemList
- xsltDecimalFormatGetByName
- xsltParseStylesheetProcess
- xsltParseStylesheetOutput
- xsltParseStylesheetDoc
- xsltNumberFormat
- xsltFormatNumberConversion
- xsltProfileStylesheet
-
- xsltParseStylesheetAttributeSet
- xsltFreeAttributeSetsHashes
- xsltApplyAttributeSet
-
- xsltNewDocument
- xsltLoadDocument
- xsltFreeDocuments
- xsltLoadStyleDocument
- xsltNewStyleDocument
- xsltFreeStyleDocuments
-
-
- xsltRegisterExtPrefix
- xsltCheckExtPrefix
- xsltRegisterExtFunction
- xsltRegisterExtElement
- xsltFreeCtxtExts
- xsltFreeExts
- xsltUnregisterAllExtModules
- xsltGetExtData
- xsltShutdownCtxtExts
- xsltXPathGetTransformContext
- xsltUnregisterExtModule
- xsltRegisterExtModule
-
-
- xsltDocumentFunction
- xsltKeyFunction
- xsltUnparsedEntityURIFunction
- xsltFormatNumberFunction
- xsltGenerateIdFunction
- xsltSystemPropertyFunction
- xsltElementAvailableFunction
- xsltFunctionAvailableFunction
- xsltRegisterAllFunctions
-
- xsltParseStylesheetImport
- xsltParseStylesheetInclude
- xsltNextImport
- xsltFindElemSpaceHandling
- xsltFindTemplate
-
- xsltAddKey
- xsltGetKey
- xsltInitCtxtKeys
- xsltFreeKeys
- xsltFreeDocumentKeys
-
- xsltNamespaceAlias
- xsltGetNamespace
- xsltGetSpecialNamespace
- xsltCopyNamespaceList
- xsltCopyNamespaceList
- xsltFreeNamespaceAliasHashes
-
- xsltCompilePattern
- xsltFreeCompMatchList
- xsltTestCompMatchList
- xsltAddTemplate
- xsltGetTemplate
- xsltFreeTemplateHashes
- xsltCleanupTemplates
-
- xsltStylePreCompute
- xsltFreeStylePreComps
-
- xsltEvalXPathPredicate
- xsltEvalTemplateString
- xsltEvalAttrValueTemplate
- xsltEvalStaticAttrValueTemplate
- xsltEvalXPathString
- xsltTemplateProcess
- xsltAttrListTemplateProcess
- xsltAttrTemplateProcess
- xsltAttrTemplateValueProcess
-
- xsltApplyStylesheet
- xsltApplyOneTemplate
- xsltDocumentElem
- xsltSort
- xsltCopy
- xsltText
- xsltElement
- xsltComment
- xsltAttribute
- xsltProcessingInstruction
- xsltCopyOf
- xsltValueOf
- xsltNumber
- xsltApplyImports
- xsltCallTemplate
- xsltApplyTemplates
- xsltChoose
- xsltIf
- xsltForEach
-
- xsltEvalGlobalVariables
- xsltEvalUserParams
- xsltParseGlobalVariable
- xsltParseGlobalParam
- xsltParseStylesheetVariable
- xsltParseStylesheetParam
- xsltParseStylesheetCallerParam
- xsltAddStackElemList
- xsltFreeGlobalVariables
- xsltVariableLookup
- xsltXPathVariableLookup
-
- xsltMessage
- xsltSetGenericErrorFunc
- xsltSetGenericDebugFunc
- xsltDocumentSortFunction
- xsltDoSortFunction
- xsltSaveResultTo
- xsltSaveResultToFilename
- xsltSaveResultToFile
- xsltSaveResultToFd
-
- xsltMaxDepth
- xsltMaxVars
- xsltSetXIncludeDefault
- xsltLibxmlVersion
- xsltLibxsltVersion
- xsltEngineVersion
-
- xsltRunStylesheet
- xsltLoadStylesheetPI
- xsltRegisterAllElement
-
-
-
-
+ +LIBRARY libxslt +EXPORTS + + xsltNewStylesheet + xsltParseStylesheetFile + xsltFreeStylesheet + xsltIsBlank + xsltFreeStackElemList + xsltDecimalFormatGetByName + xsltParseStylesheetProcess + xsltParseStylesheetOutput + xsltParseStylesheetDoc + xsltNumberFormat + xsltFormatNumberConversion + xsltProfileStylesheet + + xsltParseStylesheetAttributeSet + xsltFreeAttributeSetsHashes + xsltApplyAttributeSet + + xsltNewDocument + xsltLoadDocument + xsltFreeDocuments + xsltLoadStyleDocument + xsltNewStyleDocument + xsltFreeStyleDocuments + + + xsltRegisterExtPrefix + xsltCheckExtPrefix + xsltRegisterExtFunction + xsltRegisterExtElement + xsltFreeCtxtExts + xsltFreeExts + xsltUnregisterAllExtModules + xsltGetExtData + xsltShutdownCtxtExts + xsltXPathGetTransformContext + xsltUnregisterExtModule + xsltRegisterExtModule + + + xsltDocumentFunction + xsltKeyFunction + xsltUnparsedEntityURIFunction + xsltFormatNumberFunction + xsltGenerateIdFunction + xsltSystemPropertyFunction + xsltElementAvailableFunction + xsltFunctionAvailableFunction + xsltRegisterAllFunctions + + xsltParseStylesheetImport + xsltParseStylesheetInclude + xsltNextImport + xsltFindElemSpaceHandling + xsltFindTemplate + + xsltAddKey + xsltGetKey + xsltInitCtxtKeys + xsltFreeKeys + xsltFreeDocumentKeys + + xsltNamespaceAlias + xsltGetNamespace + xsltGetSpecialNamespace + xsltCopyNamespaceList + xsltCopyNamespaceList + xsltFreeNamespaceAliasHashes + + xsltCompilePattern + xsltFreeCompMatchList + xsltTestCompMatchList + xsltAddTemplate + xsltGetTemplate + xsltFreeTemplateHashes + xsltCleanupTemplates + + xsltStylePreCompute + xsltFreeStylePreComps + + xsltEvalXPathPredicate + xsltEvalTemplateString + xsltEvalAttrValueTemplate + xsltEvalStaticAttrValueTemplate + xsltEvalXPathString + xsltTemplateProcess + xsltAttrListTemplateProcess + xsltAttrTemplateProcess + xsltAttrTemplateValueProcess + + xsltApplyStylesheet + xsltApplyOneTemplate + xsltDocumentElem + xsltSort + xsltCopy + xsltText + xsltElement + xsltComment + xsltAttribute + xsltProcessingInstruction + xsltCopyOf + xsltValueOf + xsltNumber + xsltApplyImports + xsltCallTemplate + xsltApplyTemplates + xsltChoose + xsltIf + xsltForEach + + xsltEvalGlobalVariables + xsltEvalUserParams + xsltParseGlobalVariable + xsltParseGlobalParam + xsltParseStylesheetVariable + xsltParseStylesheetParam + xsltParseStylesheetCallerParam + xsltAddStackElemList + xsltFreeGlobalVariables + xsltVariableLookup + xsltXPathVariableLookup + + xsltMessage + xsltSetGenericErrorFunc + xsltSetGenericDebugFunc + xsltDocumentSortFunction + xsltDoSortFunction + xsltSaveResultTo + xsltSaveResultToFilename + xsltSaveResultToFile + xsltSaveResultToFd + + xsltMaxDepth + xsltMaxVars + xsltSetXIncludeDefault + xsltLibxmlVersion + xsltLibxsltVersion + xsltEngineVersion + + xsltRunStylesheet + xsltLoadStylesheetPI + xsltRegisterAllElement + + + + diff --git a/chromium/third_party/libxslt/src/win32/libxslt/libxslt.dsw b/chromium/third_party/libxslt/src/win32/libxslt/libxslt.dsw index b8a53e25451..3685bccf8a5 100644 --- a/chromium/third_party/libxslt/src/win32/libxslt/libxslt.dsw +++ b/chromium/third_party/libxslt/src/win32/libxslt/libxslt.dsw @@ -1,44 +1,44 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libxslt_so"=.\libxslt_so.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "xsltproc"=.\xsltproc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libxslt_so
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
+Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "libxslt_so"=.\libxslt_so.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "xsltproc"=.\xsltproc.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name libxslt_so + End Project Dependency +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/chromium/third_party/libxslt/src/win32/libxslt/libxslt_so.dsp b/chromium/third_party/libxslt/src/win32/libxslt/libxslt_so.dsp index 4bc6cad1c8e..d8b9065fbb0 100644 --- a/chromium/third_party/libxslt/src/win32/libxslt/libxslt_so.dsp +++ b/chromium/third_party/libxslt/src/win32/libxslt/libxslt_so.dsp @@ -1,247 +1,247 @@ -# Microsoft Developer Studio Project File - Name="libxslt_so" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libxslt_so - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "libxslt_so.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "libxslt_so.mak" CFG="libxslt_so - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "libxslt_so - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libxslt_so - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "libxslt_so - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /Yu"stdafx.h" /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\gnome-xml" /I "..\..\..\gnome-xml\include" /I "..\.." /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\release_so\libxml2.lib /nologo /dll /machine:I386 /out:"Release/libxslt.dll"
-
-!ELSEIF "$(CFG)" == "libxslt_so - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /Yu"stdafx.h" /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\debug_so\libxml2.lib /nologo /dll /debug /machine:I386 /out:"Debug/libxslt.dll" /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "libxslt_so - Win32 Release"
-# Name "libxslt_so - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\libxslt\attributes.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\documents.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\extensions.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\extra.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\functions.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\imports.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\keys.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\libxslt.def
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\namespaces.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\numbers.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\pattern.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\preproc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\templates.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\transform.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\variables.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xslt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xsltutils.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\libxslt\attributes.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\documents.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\extensions.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\extra.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\functions.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\imports.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\keys.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\namespaces.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\numbersInternals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\pattern.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\preproc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\templates.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\transform.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\variables.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xslt.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xsltconfig.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xsltInternals.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\libxslt\xsltutils.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="libxslt_so" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libxslt_so - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libxslt_so.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libxslt_so.mak" CFG="libxslt_so - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libxslt_so - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libxslt_so - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libxslt_so - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\gnome-xml" /I "..\..\..\gnome-xml\include" /I "..\.." /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\release_so\libxml2.lib /nologo /dll /machine:I386 /out:"Release/libxslt.dll" + +!ELSEIF "$(CFG)" == "libxslt_so - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBXSLT_SO_EXPORTS" /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\debug_so\libxml2.lib /nologo /dll /debug /machine:I386 /out:"Debug/libxslt.dll" /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "libxslt_so - Win32 Release" +# Name "libxslt_so - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\libxslt\attributes.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\documents.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\extensions.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\extra.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\functions.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\imports.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\keys.c +# End Source File +# Begin Source File + +SOURCE=.\libxslt.def +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\namespaces.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\numbers.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\pattern.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\preproc.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\templates.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\transform.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\variables.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xslt.c +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xsltutils.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\..\libxslt\attributes.h +# End Source File +# Begin Source File + +SOURCE=..\..\config.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\documents.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\extensions.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\extra.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\functions.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\imports.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\keys.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\namespaces.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\numbersInternals.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\pattern.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\preproc.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\templates.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\transform.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\variables.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xslt.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xsltconfig.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xsltInternals.h +# End Source File +# Begin Source File + +SOURCE=..\..\libxslt\xsltutils.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/chromium/third_party/libxslt/src/win32/libxslt/xsltproc.dsp b/chromium/third_party/libxslt/src/win32/libxslt/xsltproc.dsp index 92938412fd5..096d96ff619 100644 --- a/chromium/third_party/libxslt/src/win32/libxslt/xsltproc.dsp +++ b/chromium/third_party/libxslt/src/win32/libxslt/xsltproc.dsp @@ -1,102 +1,102 @@ -# Microsoft Developer Studio Project File - Name="xsltproc" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=xsltproc - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "xsltproc.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "xsltproc.mak" CFG="xsltproc - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "xsltproc - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "xsltproc - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "xsltproc - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\release_so\libxml2.lib Release/libxslt.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "xsltproc - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\debug_so\libxml2.lib Debug/libxslt.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "xsltproc - Win32 Release"
-# Name "xsltproc - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\libxslt\xsltproc.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="xsltproc" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=xsltproc - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "xsltproc.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "xsltproc.mak" CFG="xsltproc - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "xsltproc - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "xsltproc - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "xsltproc - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\release_so\libxml2.lib Release/libxslt.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "xsltproc - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\gnome-xml\include" /I "..\..\..\gnome-xml" /I "..\.." /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ..\..\..\gnome-xml\win32\libxml2\debug_so\libxml2.lib Debug/libxslt.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "xsltproc - Win32 Release" +# Name "xsltproc - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\..\libxslt\xsltproc.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project |