diff options
author | Haibo Huang <hhb@google.com> | 2019-10-11 11:13:39 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2019-11-13 10:28:10 -0800 |
commit | 40a7191d8057597978b149621d2882ca507d8cb5 (patch) | |
tree | e8d918e4285a965f916def290385a0614313bde1 /win32 | |
parent | 4c60b0d92a62545fa2ff75f7cac070df04a59bdf (diff) | |
download | expat-40a7191d8057597978b149621d2882ca507d8cb5.tar.gz |
Upgrade expat to R_2_2_9
Manual changes to Android.bp and expat_config.h.
Test: treehugger
Change-Id: Iba9d1ed11fadaf15b95a9e94cbc128e77f3aea6d
Diffstat (limited to 'win32')
-rw-r--r-- | win32/README.txt | 43 | ||||
-rw-r--r-- | win32/build_expat_iss.bat | 84 | ||||
-rw-r--r-- | win32/expat.iss | 19 |
3 files changed, 104 insertions, 42 deletions
diff --git a/win32/README.txt b/win32/README.txt index 462c49b7..1d725f38 100644 --- a/win32/README.txt +++ b/win32/README.txt @@ -6,16 +6,17 @@ Expat can be built on Windows in two ways: This follows the Unix build procedures. * MS Visual Studio 2013, 2015 and 2017: - A solution file for Visual Studio 2013 is provided: expat.sln. - The associated project files (*.vcxproj) reside in the appropriate - project directories. This solution file can be opened in VS 2015 or VS 2017 - and should be upgraded automatically if VS 2013 is not also installed. - Note: Tests have their own solution files. + Use CMake to generate a solution file for Visual Studio, then use msbuild + to compile. For example: + + md build + cd build + cmake -G"Visual Studio 15 2017" -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + msbuild /m expat.sln * All MS C/C++ compilers: - The output for all projects will be generated in the win32\bin - directory, intermediate files will be located in project-specific - subdirectories of win32\tmp. + The output for all projects will be generated in the <CMAKE_BUILD_TYPE>\ + and xmlwf\<CMAKE_BUILD_TYPE>\ directories. * Creating MinGW dynamic libraries from MS VC++ DLLs: @@ -37,39 +38,23 @@ Expat can be built on Windows in two ways: Dynamic Linking: - By default the Expat Dlls are built to link statically + By default the Expat Dlls are built to link dynamically with the multi-threaded run-time library. The libraries are named - libexpat(w).dll - libexpat(w).lib (import library) The "w" indicates the UTF-16 version of the library. - One rarely uses other versions of the Dll, but they can - be built easily by specifying a different RTL linkage in - the IDE on the C/C++ tab under the category Code Generation. + Versions that are statically linking with the multi-threaded run-time library + can be built with -DEXPAT_MSVC_STATIC_CRT=ON. - Static Linking: + Static Linking: (through -DEXPAT_SHARED_LIBS=OFF) The libraries should be named like this: - Single-theaded: libexpat(w)ML.lib Multi-threaded: libexpat(w)MT.lib Multi-threaded Dll: libexpat(w)MD.lib The suffixes conform to the compiler switch settings - /ML, /MT and /MD for MS VC++. - - Note: In Visual Studio 2005 (Visual C++ 8.0) and later, the - single-threaded runtime library is not supported anymore. - - By default, the expat-static and expatw-static projects are set up - to link statically against the multithreaded run-time library, - so they will build libexpatMT.lib or libexpatwMT.lib files. - - To build the other versions of the static library, - go to Project - Settings: - - specify a different RTL linkage on the C/C++ tab - under the category Code Generation. - - then, on the Library tab, change the output file name - accordingly, as described above + /MT and /MD for MS VC++. An application linking to the static libraries must have the global macro XML_STATIC defined. diff --git a/win32/build_expat_iss.bat b/win32/build_expat_iss.bat new file mode 100644 index 00000000..4e31c17d --- /dev/null +++ b/win32/build_expat_iss.bat @@ -0,0 +1,84 @@ +REM Batch script to build Inno Setup installer for libexpat for Windows +REM Call from parent directory, e.g.: cmd /c win32\build_expat_iss.bat +REM __ __ _ +REM ___\ \/ /_ __ __ _| |_ +REM / _ \\ /| '_ \ / _` | __| +REM | __// \| |_) | (_| | |_ +REM \___/_/\_\ .__/ \__,_|\__| +REM |_| XML parser +REM +REM Copyright (C) 2019 Expat development team +REM Licensed under the MIT license: +REM +REM Permission is hereby granted, free of charge, to any person obtaining +REM a copy of this software and associated documentation files (the +REM "Software"), to deal in the Software without restriction, including +REM without limitation the rights to use, copy, modify, merge, publish, +REM distribute, sublicense, and/or sell copies of the Software, and to permit +REM persons to whom the Software is furnished to do so, subject to the +REM following conditions: +REM +REM The above copyright notice and this permission notice shall be included +REM in all copies or substantial portions of the Software. +REM +REM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +REM EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +REM MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +REM NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +REM DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +REM OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +REM USE OR OTHER DEALINGS IN THE SOFTWARE. + +SET GENERATOR=Visual Studio 15 2017 + +REM Read by msbuild! +SET CONFIGURATION=RelWithDebInfo + +REM Where Inno Setup expects build results +SET BINDIR=win32\bin\Release + + +MD %BINDIR% || EXIT /b 1 + + +MD build_shared_char || EXIT /b 1 +CD build_shared_char || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF .. || EXIT /b 1 + msbuild /m expat.sln || EXIT /b 1 + DIR %CONFIGURATION% || EXIT /b 1 + CD .. || EXIT /b 1 +COPY build_shared_char\%CONFIGURATION%\libexpat.dll %BINDIR%\ || EXIT /b 1 +COPY build_shared_char\%CONFIGURATION%\libexpat.lib %BINDIR%\ || EXIT /b 1 + + +MD build_static_char || EXIT /b 1 +CD build_static_char || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_SHARED_LIBS=OFF .. || EXIT /b 1 + msbuild /m expat.sln || EXIT /b 1 + DIR %CONFIGURATION% || EXIT /b 1 + CD .. || EXIT /b 1 +COPY build_static_char\%CONFIGURATION%\libexpatMT.lib %BINDIR%\ || EXIT /b 1 +COPY build_static_char\xmlwf\%CONFIGURATION%\xmlwf.exe %BINDIR%\ || EXIT /b 1 + + +MD build_shared_wchar_t || EXIT /b 1 +CD build_shared_wchar_t || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 + msbuild /m expat.sln || EXIT /b 1 + DIR %CONFIGURATION% || EXIT /b 1 + CD .. || EXIT /b 1 +COPY build_shared_wchar_t\%CONFIGURATION%\libexpatw.dll %BINDIR%\ || EXIT /b 1 +COPY build_shared_wchar_t\%CONFIGURATION%\libexpatw.lib %BINDIR%\ || EXIT /b 1 + + +MD build_static_wchar_t || EXIT /b 1 +CD build_static_wchar_t || EXIT /b 1 + cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DEXPAT_MSVC_STATIC_CRT=ON -DEXPAT_BUILD_EXAMPLES=OFF -DEXPAT_BUILD_TESTS=OFF -DEXPAT_BUILD_TOOLS=OFF -DEXPAT_SHARED_LIBS=OFF -DEXPAT_CHAR_TYPE=wchar_t .. || EXIT /b 1 + msbuild /m expat.sln || EXIT /b 1 + DIR %CONFIGURATION% || EXIT /b 1 + CD .. || EXIT /b 1 +COPY build_static_wchar_t\%CONFIGURATION%\libexpatwMT.lib %BINDIR%\ || EXIT /b 1 + + +DIR %BINDIR% || EXIT /b 1 +iscc win32\expat.iss || EXIT /b 1 diff --git a/win32/expat.iss b/win32/expat.iss index 20f50815..c93f9c75 100644 --- a/win32/expat.iss +++ b/win32/expat.iss @@ -4,7 +4,7 @@ ; This script was contributed by Tim Peters. ; It was designed for Inno Setup 2.0.19 but works with later versions as well. -#define expatVer "2.2.7" +#define expatVer "2.2.9" [Setup] AppName=Expat @@ -44,31 +44,24 @@ Flags: ignoreversion; Source: doc\*.css; DestDir: "{app}\Doc" Flags: ignoreversion; Source: doc\*.png; DestDir: "{app}\Doc" Flags: ignoreversion; Source: win32\bin\Release\*.dll; DestDir: "{app}\Bin" Flags: ignoreversion; Source: win32\bin\Release\*.lib; DestDir: "{app}\Bin" -Flags: ignoreversion; Source: expat.sln; DestDir: "{app}\Source" Flags: ignoreversion; Source: win32\README.txt; DestDir: "{app}\Source" +Flags: ignoreversion; Source: CMake.README; DestDir: "{app}\Source" +Flags: ignoreversion; Source: CMakeLists.txt; DestDir: "{app}\Source" +Flags: ignoreversion; Source: ConfigureChecks.cmake; DestDir: "{app}\Source" +Flags: ignoreversion; Source: expat_config.h.cmake; DestDir: "{app}\Source" +Flags: ignoreversion; Source: cmake\expat-config.cmake.in; DestDir: "{app}\Source\cmake" Flags: ignoreversion; Source: lib\*.c; DestDir: "{app}\Source\lib" Flags: ignoreversion; Source: lib\*.h; DestDir: "{app}\Source\lib" Flags: ignoreversion; Source: lib\*.def; DestDir: "{app}\Source\lib" -Flags: ignoreversion; Source: lib\*.vcxproj; DestDir: "{app}\Source\lib" -Flags: ignoreversion; Source: lib\*.vcxproj.filters; DestDir: "{app}\Source\lib" Flags: ignoreversion; Source: examples\*.c; DestDir: "{app}\Source\examples" -Flags: ignoreversion; Source: examples\*.vcxproj; DestDir: "{app}\Source\examples" -Flags: ignoreversion; Source: examples\*.vcxproj.filters; DestDir: "{app}\Source\examples" Flags: ignoreversion; Source: tests\*.c; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\*.cpp; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\*.h; DestDir: "{app}\Source\tests" -Flags: ignoreversion; Source: tests\*.sln; DestDir: "{app}\Source\tests" -Flags: ignoreversion; Source: tests\*.vcxproj; DestDir: "{app}\Source\tests" -Flags: ignoreversion; Source: tests\*.vcxproj.filters; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\README.txt; DestDir: "{app}\Source\tests" Flags: ignoreversion; Source: tests\benchmark\*.c; DestDir: "{app}\Source\tests\benchmark" -Flags: ignoreversion; Source: tests\benchmark\*.sln; DestDir: "{app}\Source\tests\benchmark" -Flags: ignoreversion; Source: tests\benchmark\*.vcxproj; DestDir: "{app}\Source\tests\benchmark" Flags: ignoreversion; Source: tests\benchmark\README.txt; DestDir: "{app}\Source\tests\benchmark" Flags: ignoreversion; Source: xmlwf\*.c*; DestDir: "{app}\Source\xmlwf" Flags: ignoreversion; Source: xmlwf\*.h; DestDir: "{app}\Source\xmlwf" -Flags: ignoreversion; Source: xmlwf\*.vcxproj; DestDir: "{app}\Source\xmlwf" -Flags: ignoreversion; Source: xmlwf\*.vcxproj.filters; DestDir: "{app}\Source\xmlwf" [Messages] WelcomeLabel1=Welcome to the Expat XML Parser Setup Wizard |