diff --git a/.gitignore b/.gitignore index e35b39334..3546bec60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ httpd-* apr-* build +extlib +source/version.h diff --git a/.travis.yml b/.travis.yml index bfa6dd5b6..4f7c4e53b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,9 +69,6 @@ before_install: - env | sort - git log `git describe --tags --abbrev=0 HEAD^ --always`..HEAD --oneline -install: - - ./prepare-apache.sh - script: - sed -i 's#4\.1\.0#'"${git_version}"'#g' Makefile - make apache22zip && mv build/*.zip . diff --git a/Makefile b/Makefile index 4946811d2..46e421fa0 100644 --- a/Makefile +++ b/Makefile @@ -18,21 +18,31 @@ # 64=1 builds 64bit binary # DEBUG=1 builds debug binary version -64=1 +HTTPD24_VERSION=2.4.34 +HTTPD22_VERSION=2.2.34 +APR_VERSION=1.6.3 +APR_UTIL_VERSION=1.6.1 + +ifndef 32 + 64 := 1 +endif + # DEBUG=1 VERSION := 4.1.0 ifneq ("$(PROGRAMFILES)$(ProgramFiles)","") OS_ARCH := WINNT - RMALL := cmd /c del /F /Q + RMALL := cmd /c del /F /Q RMDIR := cmd /c rmdir /S /Q - SED := cmd /c sed.exe - ECHO := cmd /c echo - MKDIR := cmd /c mkdir + SED := sed + ECHO := echo + MKDIR := cmd /c mkdir CP := cmd /c copy /Y + MV := cmd /c move /Y CD := cd - EXEC := + CAT :=cat + EXEC := REVISION := Revision: $(shell git rev-parse --short HEAD) BUILD_MACHINE := $(shell hostname) IDENT_DATE := $(shell powershell get-date -format "{dd.MM.yyyy}") @@ -41,6 +51,10 @@ ifneq ("$(PROGRAMFILES)$(ProgramFiles)","") COMPILEFLAG=/ COMPILEOPTS=/Fd$@.pdb /Fo$(dir $@) OBJ=obj + UTAR=cmd /c 7z x + UBZIP=cmd /c 7z x + CURL=cmd /c curl + CE=--build=x86_64-pc-mingw32 else OS_ARCH := $(shell uname -s) OS_MARCH := $(shell uname -m) @@ -49,7 +63,8 @@ else SED := sed ECHO := echo MKDIR := mkdir -p - CP := cp + CP := cp -r + MV :=mv -f CD := cd EXEC := ./ REVISION := Revision: $(shell git rev-parse --short HEAD) @@ -60,6 +75,11 @@ else COMPILEFLAG=- COMPILEOPTS=-c -o $@ OBJ=o + UTAR=tar xf + UBZIP=bunzip2 + CURL=curl + CAT=cat + CE= endif SED_ROPT := r @@ -74,7 +94,9 @@ endif PS=$(strip $(PATHSEP)) CFLAGS := $(COMPILEFLAG)I.$(PS)source $(COMPILEFLAG)I.$(PS)zlib $(COMPILEFLAG)I.$(PS)expat $(COMPILEFLAG)I.$(PS)pcre \ - $(COMPILEFLAG)DHAVE_EXPAT_CONFIG_H $(COMPILEFLAG)DHAVE_PCRE_CONFIG_H $(COMPILEFLAG)DAM_BINARY_LICENSE + $(COMPILEFLAG)DHAVE_EXPAT_CONFIG_H $(COMPILEFLAG)DHAVE_PCRE_CONFIG_H + +DIR := ${CURDIR} OBJDIR := build APACHE_SOURCES := source/apache/agent.c @@ -111,13 +133,15 @@ TEST_SOURCES := $(wildcard cmocka/*.c) $(wildcard tests/*.c) TEST_OBJECTS := $(addprefix $(OBJDIR)/,$(TEST_SOURCES:.c=.$(OBJ))) $(APACHE_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/include \ - $(COMPILEFLAG)Iextlib/$(OS_ARCH)$(OS_MARCH)/apache24/include \ - $(COMPILEFLAG)Iextlib/$(OS_ARCH)/apache24/include $(COMPILEFLAG)DAPACHE2 $(COMPILEFLAG)DAPACHE24 + $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/srclib/apr/include \ + $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/srclib/apr-util/include \ + $(COMPILEFLAG)DAPACHE2 $(COMPILEFLAG)DAPACHE24 $(VARNISH_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)/varnish/include $(VARNISH3_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)/varnish3/include $(APACHE22_OUT_OBJS): CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/include \ - $(COMPILEFLAG)Iextlib/$(OS_ARCH)$(OS_MARCH)/apache22/include \ - $(COMPILEFLAG)Iextlib/$(OS_ARCH)/apache22$(VENDOR_EXT)/include $(COMPILEFLAG)DAPACHE2 + $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/srclib/apr/include \ + $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/srclib/apr-util/include \ + $(COMPILEFLAG)DAPACHE2 $(TEST_OBJECTS): CFLAGS += $(COMPILEFLAG)I.$(PS)cmocka $(COMPILEFLAG)I.$(PS)tests $(COMPILEFLAG)I.$(PS)$(OBJDIR)$(PS)tests \ $(COMPILEFLAG)DHAVE_SIGNAL_H $(COMPILEFLAG)DUNIT_TEST @@ -173,13 +197,15 @@ build: version: @$(ECHO) "[***** Updating version.h *****]" -$(RMALL) source$(PS)version.h + pwd + $(CAT) source$(PS)version.template $(SED) -e "s$(SUB)_REVISION_$(SUB)$(REVISION)$(SUB)g" \ -e "s$(SUB)_IDENT_DATE_$(SUB)$(IDENT_DATE)$(SUB)g" \ -e "s$(SUB)_BUILD_MACHINE_$(SUB)$(BUILD_MACHINE)$(SUB)g" \ -e "s$(SUB)_VERSION_NUM_$(SUB)$(VERSION_NUM)$(SUB)g" \ -e "s$(SUB)_CONTAINER_$(SUB)$(CONTAINER)$(SUB)g" \ - -e "s$(SUB)_VERSION_$(SUB)$(VERSION)$(SUB)g" < source$(PS)version.template > source$(PS)version.h - + -e "s$(SUB)_VERSION_$(SUB)$(VERSION)$(SUB)g" source/version.template >> source/version.h + $(CAT) source$(PS)version.h clean: -$(RMDIR) $(OBJDIR) -$(RMALL) source$(PS)version.h @@ -195,9 +221,41 @@ test_includes: $(ECHO) "};" >> $(OBJDIR)$(PS)tests$(PS)tests.h $(SED) -ie "s$(SUB)\"$(SUB) $(SUB)g" $(OBJDIR)$(PS)tests$(PS)tests.h +apr: + -$(CURL) -O http://mirrors.ukfast.co.uk/sites/ftp.apache.org/apr/apr-${APR_VERSION}.tar.bz2 + -$(UBZIP) apr-${APR_VERSION}.tar.bz2 + -$(UTAR) apr-${APR_VERSION}.tar + -$(CURL) -O http://mirrors.ukfast.co.uk/sites/ftp.apache.org/apr/apr-util-${APR_UTIL_VERSION}.tar.bz2 + -$(UBZIP) apr-util-${APR_UTIL_VERSION}.tar.bz2 + -$(UTAR) apr-util-${APR_UTIL_VERSION}.tar +apache-src: apr + -$(CURL) -O http://mirrors.ukfast.co.uk/sites/ftp.apache.org/httpd/httpd-${HTTPD24_VERSION}.tar.bz2 + -$(UBZIP) httpd-${HTTPD24_VERSION}.tar.bz2 + -$(UTAR) httpd-${HTTPD24_VERSION}.tar + -$(MKDIR) extlib$(PS)$(OS_ARCH)_$(OS_MARCH) + -$(MV) httpd-${HTTPD24_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24 + -$(MKDIR) extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24$(PS)srclib + -$(MV) apr-${APR_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24$(PS)srclib$(PS)apr +ifneq ("$(PROGRAMFILES)$(ProgramFiles)","") + -$(CD) extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24$(PS)srclib$(PS)apr && $(CURL) -O https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-apr/apr_ssize_t.patch && patch -p0 -i apr_ssize_t.patch + -$(CD) extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24$(PS)srclib$(PS)apr && $(CURL) -O https://raw.githubusercontent.com/Alexpux/MINGW-packages/master/mingw-w64-apr/apr_wtypes.patch && patch -p0 -i apr_wtypes.patch + -$(CD) extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24 && patch -p0 -i ..$(PS)..$(PS)..$(PS)apr.patch +endif + -$(MV) apr-util-${APR_UTIL_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache24$(PS)srclib$(PS)apr-util + -$(CD) extlib/$(OS_ARCH)_$(OS_MARCH)/apache24 && sh configure --with-included-apr $(CE) +apache22-src: apr + -$(CURL) -O https://archive.apache.org/dist/httpd/httpd-${HTTPD22_VERSION}.tar.bz2 + -$(UBZIP) httpd-${HTTPD22_VERSION}.tar.bz2 + -$(UTAR) httpd-${HTTPD22_VERSION}.tar + -$(MKDIR) extlib/$(OS_ARCH)_$(OS_MARCH) + -$(MV) httpd-${HTTPD22_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache22 + -$(MKDIR) extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache22$(PS)srclib + -$(MV) apr-${APR_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache22$(PS)srclib$(PS)apr + -$(MV) apr-util-${APR_UTIL_VERSION} extlib$(PS)$(OS_ARCH)_$(OS_MARCH)$(PS)apache22$(PS)srclib$(PS)apr-util + -$(CD) extlib/$(OS_ARCH)_$(OS_MARCH)/apache22; sh configure --with-included-apr $(CE) apachezip: CFLAGS += $(COMPILEFLAG)DSERVER_VERSION='"2.4.x"' apachezip: CONTAINER = $(strip Apache 2.4 $(OS_ARCH)$(OS_ARCH_EXT) $(subst _,,$(OS_BITS))) -apachezip: clean build version apache agentadmin +apachezip: clean build version apache-src apache agentadmin @$(ECHO) "[***** Building Apache 2.4 agent archive *****]" -$(MKDIR) $(OBJDIR)$(PS)web_agents -$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache24_agent @@ -223,7 +281,7 @@ apache22_post: apache22zip: CFLAGS += $(COMPILEFLAG)DSERVER_VERSION='"2.2.x"' apache22zip: CONTAINER = $(strip Apache 2.2 $(OS_ARCH)$(OS_ARCH_EXT) $(subst _,,$(OS_BITS))) -apache22zip: clean build version apache22 agentadmin +apache22zip: clean build version apache22-src apache22 agentadmin @$(ECHO) "[***** Building Apache 2.2 agent archive *****]" -$(MKDIR) $(OBJDIR)$(PS)web_agents -$(MKDIR) $(OBJDIR)$(PS)web_agents$(PS)apache22_agent @@ -278,7 +336,8 @@ iiszip: clean build version iis -$(CP) $(OBJDIR)$(PS)dist$(PS)mod_iis_openam* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)lib$(PS) -$(CP) config$(PS)* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)config$(PS) -$(CP) legal$(PS)* $(OBJDIR)$(PS)web_agents$(PS)iis_agent$(PS)legal$(PS) - $(CD) $(OBJDIR) && $(EXEC)agentadmin --a IIS_$(OS_ARCH)_$(VERSION).zip web_agents + $(CD) $(OBJDIR) && $(EXEC)agentadmin.exe --a IIS_$(OS_ARCH)_$(VERSION).zip web_agents + mv $(OBJDIR)/*.zip ./ varnishzip: CFLAGS += $(COMPILEFLAG)DSERVER_VERSION='"4.1.x"' varnishzip: CONTAINER = $(strip Varnish 4.1.x $(OS_ARCH)$(OS_ARCH_EXT) $(subst _,,$(OS_BITS))) diff --git a/Makefile.linux.mk b/Makefile.linux.mk index b4bcf4a8c..349c256f4 100644 --- a/Makefile.linux.mk +++ b/Makefile.linux.mk @@ -22,7 +22,7 @@ SHARED := -shared CFLAGS += -fPIC -pthread -std=gnu99 -D_REENTRANT -DLINUX -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all \ -Wno-unused-value -Wno-deprecated-declarations - + ifdef DEBUG CFLAGS += -g3 -fno-inline -O0 -DDEBUG -Wall else @@ -37,6 +37,8 @@ else LDFLAGS += -m32 endif +CFLAGS += $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/os/unix $(COMPILEFLAG)Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/os/unix + LDFLAGS += -Wl,-rpath,'$$ORIGIN/../lib' -Wl,-rpath,'$$ORIGIN' -Wl,--no-as-needed -Wl,-z,now -Wl,-z,relro -lpthread -lresolv -lrt -ldl libopenam: $(OUT_OBJS) diff --git a/Makefile.windows.mk b/Makefile.windows.mk index 7d82faabc..b8b99140d 100644 --- a/Makefile.windows.mk +++ b/Makefile.windows.mk @@ -38,7 +38,7 @@ $(IIS_OUT_OBJS): COMPILEOPTS += /TP $(TEST_OBJECTS): CFLAGS += /D HAVE_MSVC_THREAD_LOCAL_STORAGE /D HAVE__SNPRINTF_S /D HAVE__VSNPRINTF_S /D UNIT_TESTING_DEBUG=1 ifneq ($(findstring $(MAKECMDGOALS), iis32 iis64 iiszip),) -LIB64ENV := $(shell echo $(LIBPATH) | findstr amd64) +LIB64ENV := $(shell echo "$(LIBPATH)" | findstr amd64) ifeq (,$(LIB64ENV)) $(error Missing support for 64 build environment) @@ -48,7 +48,7 @@ ifeq (,$(CC32)) CC32 := $(shell powershell 'Get-Command cl.exe | Where-Object {$$_.Definition -like "*amd64*"} | Select-Object -ExpandProperty Definition | split-path -parent | split-path -parent')\cl.exe endif ifeq (,$(LINK32)) -LINK32 := $(shell powershell 'Get-Command cl.exe | Where-Object {$$_.Definition -like "*amd64*"} | Select-Object -ExpandProperty Definition | split-path -parent | split-path -parent')\link.exe +LINK32 := $(shell powershell 'Get-Command link.exe | Where-Object {$$_.Definition -like "*amd64*"} | Select-Object -ExpandProperty Definition | split-path -parent | split-path -parent')\link.exe endif ifeq (,$(LIB32_VC)) LIB32_VC := $(shell powershell 'Get-Command cl.exe | Where-Object {$$_.Definition -like "*amd64*"} | Select-Object -ExpandProperty Definition | split-path -parent | split-path -parent | split-path -parent') @@ -64,17 +64,26 @@ else endif endif + ifdef DEBUG CFLAGS += /MTd /D _DEBUG /D DEBUG else CFLAGS += /MT endif - + +CC32:=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe +LINK32:=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe +LIB32_VC:=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC +LIB32_SDK:=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um +LIB32_UCRT=C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\ucrt +#CC=C:\Program\ Files\ \(x86\)\Microsoft\ Visual\ Studio\ 14.0\VC\bin\x86_amd64\cl.exe +#LINK=C:\Program\ Files\ \(x86\)\Microsoft\ Visual\ Studio\ 14.0\VC\bin\x86_amd64\link.exe + libopenam: $(OUT_OBJS) @$(ECHO) "[*** Creating "$@" shared library ***]" -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)libopenam.dll$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\$@.dll /PDB:build\$@.pdb \ $(LIBS) @@ -101,27 +110,24 @@ apache22: apache22_pre $(OUT_OBJS) $(APACHE22_OUT_OBJS) apache22_post extlib/$(OS_ARCH)$(OS_MARCH)/apache22/lib/libapr-1.lib extlib/$(OS_ARCH)$(OS_MARCH)/apache22/lib/libaprutil-1.lib \ extlib/$(OS_ARCH)$(OS_MARCH)/apache22/lib/libhttpd.lib -iis: iis32 agentadmin_iis iisclean iis64 +iis: iis32 agentadmin_iis iisclean iis64 iisclean: - -$(RMALL) $(OBJDIR)$(PS)* + -$(RMALL) $(OBJDIR)$(PS)*.* -$(RMALL) $(OBJDIR)$(PS)expat$(PS)* -$(RMALL) $(OBJDIR)$(PS)pcre$(PS)* -$(RMALL) $(OBJDIR)$(PS)zlib$(PS)* -$(RMALL) $(OBJDIR)$(PS)source$(PS)* -$(RMALL) $(OBJDIR)$(PS)source$(PS)iis$(PS)* - iis32: CC = $(CC32) iis32: LDFLAGS += /MACHINE:X86 iis32: $(OUT_OBJS) $(IIS_OUT_OBJS) @$(ECHO) "[*** Creating "$@" shared library ***]" -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)mod_iis_openam_32.dll$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc - "${LINK32}" $(SHARED) /LIBPATH:"$(LIB32_SDK)\x86" /LIBPATH:"$(LIB32_VC)\LIB" $(LDFLAGS) $(OUT_OBJS) $(IIS_OUT_OBJS) \ - $(OBJDIR)$(PS)version.res /OUT:build\mod_iis_openam_32.dll \ - /PDB:build\mod_iis_openam_32.pdb $(LIBS) /EXPORT:RegisterModule oleaut32.lib + $(LINK32) $(SHARED) /LIBPATH:"$(LIB32_SDK)\x86" /LIBPATH:"$(LIB32_UCRT)\x86" /LIBPATH:"$(LIB32_VC)\lib" $(LDFLAGS) $(OUT_OBJS) $(IIS_OUT_OBJS) $(OBJDIR)/version.res /OUT:build/mod_iis_openam_32.dll /PDB:build/mod_iis_openam_32.pdb $(LIBS) /EXPORT:RegisterModule oleaut32.lib $(CP) $(OBJDIR)$(PS)mod_iis_openam_32.dll $(OBJDIR)$(PS)dist $(CP) $(OBJDIR)$(PS)mod_iis_openam_32.pdb $(OBJDIR)$(PS)dist @@ -138,10 +144,9 @@ iis64: $(OUT_OBJS_64) $(IIS_OUT_OBJS_64) @$(ECHO) "[*** Creating "$@" shared library ***]" -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)mod_iis_openam_64.dll$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc - ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS_64) $(IIS_OUT_OBJS_64) $(OBJDIR)$(PS)version.res /OUT:build\mod_iis_openam_64.dll \ - /PDB:build\mod_iis_openam_64.pdb $(LIBS) /EXPORT:RegisterModule oleaut32.lib + ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS_64) $(IIS_OUT_OBJS_64) $(OBJDIR)\version.res /OUT:build\mod_iis_openam_64.dll /PDB:build\mod_iis_openam_64.pdb $(LIBS) /EXPORT:RegisterModule oleaut32.lib $(CP) $(OBJDIR)$(PS)mod_iis_openam_64.dll $(OBJDIR)$(PS)dist $(CP) $(OBJDIR)$(PS)mod_iis_openam_64.pdb $(OBJDIR)$(PS)dist $(CP) $(OBJDIR)$(PS)dist$(PS)agentadmin.exe $(OBJDIR)$(PS) @@ -157,10 +162,9 @@ agentadmin: $(OUT_OBJS) $(ADMIN_OUT_OBJS) -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)agentadmin.exe$(SUB)g" \ -e "s$(SUB)DESCRIPTION$(SUB)\"OpenAM Web Agent Administration Utility\"$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc - ${LINK} $(LDFLAGS) $(OUT_OBJS) $(ADMIN_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\$@.exe /PDB:build\$@.pdb \ - $(LIBS) ole32.lib oleaut32.lib ahadmin.lib + ${LINK} $(LDFLAGS) $(OUT_OBJS) $(ADMIN_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\$@.exe /PDB:build\$@.pdb $(LIBS) ole32.lib oleaut32.lib ahadmin.lib agentadmin_iis: CC = $(CC32) agentadmin_iis: LDFLAGS += /MACHINE:X86 @@ -169,11 +173,9 @@ agentadmin_iis: $(OUT_OBJS) $(ADMIN_OUT_OBJS) -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)agentadmin.exe$(SUB)g" \ -e "s$(SUB)DESCRIPTION$(SUB)\"OpenAM Web Agent Administration Utility\"$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc - "${LINK32}" /LIBPATH:"$(LIB32_SDK)\x86" /LIBPATH:"$(LIB32_VC)\LIB" $(LDFLAGS) $(OUT_OBJS) \ - $(ADMIN_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\agentadmin.exe /PDB:build\agentadmin.pdb \ - $(LIBS) ole32.lib oleaut32.lib ahadmin.lib + ${LINK32} /LIBPATH:"$(LIB32_SDK)\x86" /LIBPATH:"$(LIB32_UCRT)\x86" /LIBPATH:"$(LIB32_VC)\LIB" $(LDFLAGS) $(OUT_OBJS) $(ADMIN_OUT_OBJS) $(OBJDIR)\version.res /OUT:build\agentadmin.exe /PDB:build\agentadmin.pdb $(LIBS) ole32.lib oleaut32.lib ahadmin.lib $(CP) $(OBJDIR)$(PS)agentadmin.pdb $(OBJDIR)$(PS)dist $(CP) $(OBJDIR)$(PS)agentadmin.exe $(OBJDIR)$(PS)dist @@ -183,7 +185,7 @@ tests: clean build version test_includes $(OUT_OBJS) $(TEST_OBJECTS) -$(RMALL) $(OBJDIR)$(PS)version.* $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)test.exe$(SUB)g" \ -e "s$(SUB)DESCRIPTION$(SUB)\"OpenAM Web Agent Test Utility\"$(SUB)g" \ - -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc + -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" source/version.rc.template >> $(OBJDIR)/version.rc $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc ${LINK} $(LDFLAGS) $(OUT_OBJS) $(TEST_OBJECTS) $(OBJDIR)$(PS)version.res /OUT:build$(PS)test.exe $(LIBS) diff --git a/README.md b/README.md index db0032730..bb56bf145 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,6 @@ This project is licensed under the [Common Development and Distribution License sudo apt-get install -qq -y libpcre3-dev libbz2-dev git clone --recursive https://github.com/OpenIdentityPlatform/OpenAM-Web-Agents.git cd OpenAM-Web-Agents -./prepare-apache.sh make apache22zip && ls build/*.zip make apachezip && ls build/*.zip ``` diff --git a/apr.patch b/apr.patch new file mode 100644 index 000000000..3fa095bee --- /dev/null +++ b/apr.patch @@ -0,0 +1,24 @@ +--- srclib/apr/configure 2017-10-18 17:50:19.000000000 +0300 ++++ srclib/apr/configure 2018-08-20 23:36:43.195893125 +0300 +@@ -24542,6 +24542,10 @@ + ssize_t_fmt="ld" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: %ld" >&5 + $as_echo "%ld" >&6; } ++elif test "$ac_cv_sizeof_ssize_t" = "$ac_cv_sizeof_long_long"; then ++ ssize_t_fmt="lld" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: %lld" >&5 ++$as_echo "%lld" >&6; } + else + as_fn_error $? "could not determine the proper format for apr_ssize_t" "$LINENO" 5 + fi +@@ -24605,6 +24609,10 @@ + size_t_fmt="ld" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: %ld" >&5 + $as_echo "%ld" >&6; } ++elif test "$ac_cv_sizeof_size_t" = "$ac_cv_sizeof_long_long"; then ++ size_t_fmt="lld" ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: %lld" >&5 ++$as_echo "%lld" >&6; } + else + as_fn_error $? "could not determine the proper format for apr_size_t" "$LINENO" 5 + fi diff --git a/prepare-apache.sh b/prepare-apache.sh deleted file mode 100755 index 1216f20ae..000000000 --- a/prepare-apache.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/sh - -#Thanks https://gist.github.com/FireBurn/00bff4931a53e4380575707ac0f20fc8 - -BASE_DIR=`pwd` - -HTTPD24_VERSION=2.4.33 -HTTPD22_VERSION=2.2.34 -APR_VERSION=1.6.3 -APR_UTIL_VERSION=1.6.1 - -#clean - -rm -rf apr-* -rm -rf httpd-* - -# Download source files - -wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/httpd/httpd-${HTTPD24_VERSION}.tar.bz2 -wget https://archive.apache.org/dist/httpd/httpd-${HTTPD22_VERSION}.tar.bz2 -wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/apr/apr-${APR_VERSION}.tar.bz2 -wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org/apr/apr-util-${APR_UTIL_VERSION}.tar.bz2 - -# Extract the code and move apr and apr-util into place - -tar xvfj httpd-${HTTPD24_VERSION}.tar.bz2 -tar xvfj httpd-${HTTPD22_VERSION}.tar.bz2 -tar xvfj apr-${APR_VERSION}.tar.bz2 -C httpd-${HTTPD24_VERSION}/srclib/ -tar xvfj apr-${APR_VERSION}.tar.bz2 -C httpd-${HTTPD22_VERSION}/srclib/ -tar xvfj apr-util-${APR_UTIL_VERSION}.tar.bz2 -C httpd-${HTTPD24_VERSION}/srclib/ -tar xvfj apr-util-${APR_UTIL_VERSION}.tar.bz2 -C httpd-${HTTPD22_VERSION}/srclib/ - -mv httpd-${HTTPD24_VERSION}/srclib/apr-${APR_VERSION}/ httpd-${HTTPD24_VERSION}/srclib/apr/ -mv httpd-${HTTPD22_VERSION}/srclib/apr-${APR_VERSION}/ httpd-${HTTPD22_VERSION}/srclib/apr/ -mv httpd-${HTTPD24_VERSION}/srclib/apr-util-${APR_UTIL_VERSION}/ httpd-${HTTPD24_VERSION}/srclib/apr-util/ -mv httpd-${HTTPD22_VERSION}/srclib/apr-util-${APR_UTIL_VERSION}/ httpd-${HTTPD22_VERSION}/srclib/apr-util/ - -# Configure HTTPD with APR and APR Util - -echo "configure apache24----------------------------" -cd ${BASE_DIR}/httpd-${HTTPD24_VERSION} -./configure --with-included-apr - -echo "configure apache24 ---------------------------" -cd ${BASE_DIR}/httpd-${HTTPD22_VERSION} -./configure --with-included-apr - -cd ${BASE_DIR} - -# These fix up the includes with our new apache and apr builds -sed -i 's#Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache24/include#I'"${BASE_DIR}"'/httpd-'"${HTTPD24_VERSION}"'/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD24_VERSION}"'/srclib/apr/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD24_VERSION}"'/srclib/apr-util/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD24_VERSION}"'/os/unix#g' Makefile -sed -i 's#Iextlib/$(OS_ARCH)_$(OS_MARCH)/apache22/include#I'"${BASE_DIR}"'/httpd-'"${HTTPD22_VERSION}"'/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD22_VERSION}"'/srclib/apr/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD22_VERSION}"'/srclib/apr-util/include $(COMPILEFLAG)I'"${BASE_DIR}"'/httpd-'"${HTTPD22_VERSION}"'/os/unix#g' Makefile diff --git a/source/version.template b/source/version.template index c220d230c..4c683316d 100644 --- a/source/version.template +++ b/source/version.template @@ -27,9 +27,9 @@ #define MODINFO DESCRIPTION"/"VERSION #ifdef __sun -#pragma ident "@(#)am.h _VERSION_ _IDENT_DATE_ ForgeRock AS" +#pragma ident "@(#)am.h _VERSION_ _IDENT_DATE_ Open Identity Platform Community" #else -static char const rcsid[] = "$Id: am.h _VERSION_ _IDENT_DATE_ ForgeRock AS Exp $"; +static char const rcsid[] = "$Id: am.h _VERSION_ _IDENT_DATE_ Open Identity Platform Community Exp $"; #endif #endif