First, do the import in VS2013 (make sure you can write to the directory)
Save the solution.
Some (all?) of these expect to output projectname-1.lib, but VS2013 guesses wrong:
find . \( -name 'xml' -prune -false \) -o -name '*.vcxproj' -exec sed -i.bak '/PropertyGroup.*Release|Win32..>/a$(ProjectName)-1' {} \;
https://groups.google.com/forum/#!topic/aprdev/bc1ILvUe-fk
Edit apr/atomic/win32/apr_atomic.c and copy the "if 64" parts to the "else" area (hack!)
/* Didn't need this
* Configure libapr to output a static lib
* libaprutil -> linker -> input -> Additional dependencies: add Rpcrt4.lib
*/
$ sed -i -e '1i#define APR_DECLARE_STATIC 1' apr/include/apr.hw
$ sed -i -e '1i#define APU_DECLARE_STATIC 1' apr-util/include/apu.hw
$ sed -i -e '1i#define API_DECLARE_STATIC 1' apr-iconv/include/apr_iconv.h
apr-iconv/build/modules.mk.win:
$(MODRES).pch:
$(SILENT)echo #define ICONV_INTERNAL > $*.c
$(SILENT)echo #include "iconv.h" >> $*.c
$(SILENT)cl $(ALL_CFLAGS) /Fo$*.obj /Yciconv.h /c $*.c
.c{$(OUTPUT_DIR)}.so:
$(SILENT)cl $(ALL_CFLAGS) /Fo$*.obj /Yuiconv.h /c $<
$(SILENT)link $(ALL_LDFLAGS) $(MODRES).obj $*.obj $(API_LIBS) /out:$@ \
/base:@"..\build\BaseAddr.ref",$(@F)
$(SILENT)if exist $@.manifest \
$(SILENT)mt -nologo -manifest $@.manifest -outputresource:$@;2 \
& del "$@.manifest"
$(SILENT)del "$*.exp" & del "$*.lib"
libapriconv: Ws2_32.lib
The python command now creates a .sln file, not a .dsw file
--vsnet-version=2013
Switched from neon to serf in 1.8
OpenSSL must be on same drive letter
build zlib with build/win32/vcnet-vcproj/build_zlib.bat (using Developer Command Line)
- Invoke devenv from within cygwin to see what happens before devenv quits:
- $ cmd /k 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat'
- > .\build_zlib.bat release Win32
Build serf:
* Install scons from www.scons.org (requires 32-bit Python installed)
* Fix some path issues in SConstruct: s/zlib/zlibstat/; s/inc32/include/; s/out32dll/lib/;
* C:\Python27\Scripts\scons.bat APR=..\..\apr APU=..\..\apr-util OPENSSL=..\..\..\OpenSSL ZLIB=..\zlib APR_STATIC=1
---Here down was old stuff before I knew about --vsnet-version=2013
add appropriate TargetNames
cd src-trunk/build/win32/; for f in *.vcxproj; do n=$(perl -ne 'if(/OutputFile>..OutDir.([^\.]+)/{print$1;exit}' $f); test -n "$n" && sed -i.bak "/PropertyGroup.*Release|Win32..>/a$n" $f; done
disable SafeSEH:
sed -i.bak "//afalse" *.vcxproj
add missing dependencies (to Release build!):
libsvn_fs,_subr,_delta,_ra_svn,_wc,_ra: aprutil-1.lib (..\..\..\..\apr-util\LibR)
libsvn_fs,_fs_fs,_subr,_delta,_ra_svn,_wc,_ra: apr-1.lib (..\..\..\..\apr\LibR)
libsvn_subr,_delta: apriconv-1.lib (..\..\..\..\apr-iconv\LibR)