cmocka: use relative paths

Simplifies the build scripts, and fixes my CI, where paths on the test
slave can be different from paths on the build slave.

Signed-off-by: Steffan Karger <steffan@karger.me>
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <20181028145449.12676-1-steffan@karger.me>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17849.html
Signed-off-by: David Sommerseth <davids@openvpn.net>
(cherry picked from commit 4ded2deda0d6d33d38fbbd1f4cd4e9acc0836a89)
This commit is contained in:
Steffan Karger 2018-10-28 15:54:49 +01:00 committed by David Sommerseth
parent abbfd4c887
commit 84a649bee9
No known key found for this signature in database
GPG Key ID: 86CF944C9671FDF2
3 changed files with 11 additions and 18 deletions

2
.gitignore vendored
View File

@ -53,7 +53,7 @@ config-msvc-version.h
doc/openvpn.8.html
distro/systemd/*.service
sample/sample-keys/sample-ca/
vendor/.build
vendor/cmocka_build
vendor/dist
build/msvc/msvc-generate/version.m4

View File

@ -1376,15 +1376,8 @@ AC_SUBST([sampledir])
AC_SUBST([systemdunitdir])
AC_SUBST([tmpfilesdir])
VENDOR_SRC_ROOT="\$(abs_top_srcdir)/vendor/"
VENDOR_DIST_ROOT="\$(abs_top_builddir)/vendor/dist"
VENDOR_BUILD_ROOT="\$(abs_top_builddir)/vendor/.build"
AC_SUBST([VENDOR_SRC_ROOT])
AC_SUBST([VENDOR_BUILD_ROOT])
AC_SUBST([VENDOR_DIST_ROOT])
TEST_LDFLAGS="-lcmocka -L\$(abs_top_builddir)/vendor/dist/lib -Wl,-rpath,\$(abs_top_builddir)/vendor/dist/lib"
TEST_CFLAGS="-I\$(top_srcdir)/include -I\$(abs_top_builddir)/vendor/dist/include"
TEST_LDFLAGS="${OPTIONAL_CRYPTO_LIBS} ${OPTIONAL_PKCS11_HELPER_LIBS} -lcmocka -L\$(top_builddir)/vendor/dist/lib -Wl,-rpath,\$(top_builddir)/vendor/dist/lib"
TEST_CFLAGS="${OPTIONAL_CRYPTO_CFLAGS} ${OPTIONAL_PKCS11_HELPER_CFLAGS} -I\$(top_srcdir)/include -I\$(top_builddir)/vendor/dist/include"
AC_SUBST([TEST_LDFLAGS])
AC_SUBST([TEST_CFLAGS])

16
vendor/Makefile.am vendored
View File

@ -1,18 +1,18 @@
# needs an absolute path bc. of the cmake invocation
cmockasrc = "@VENDOR_SRC_ROOT@/cmocka"
cmockabuild = "@VENDOR_BUILD_ROOT@/cmocka"
cmockainstall = "@VENDOR_DIST_ROOT@"
cmockasrc = $(srcdir)/cmocka
# Not just '$(builddir)/cmocka', because cmocka requires an out-of-source build
cmockabuild = $(builddir)/cmocka_build
cmockadist = $(builddir)/dist
MAINTAINERCLEANFILES = \
$(srcdir)/Makefile.in \
"$(cmockabuild)" \
"$(cmockainstall)" \
"@VENDOR_BUILD_ROOT@"
"$(cmockadist)"
libcmocka:
if CMOCKA_INITIALIZED
mkdir -p $(cmockabuild) $(cmockainstall)
(cd $(cmockabuild) && cmake -DCMAKE_INSTALL_PREFIX=$(cmockainstall) $(cmockasrc) && make && make install)
mkdir -p $(cmockabuild) $(cmockadist)
## Compensate for the cd in the paths
(cd $(cmockabuild) && cmake -DCMAKE_INSTALL_PREFIX=../$(cmockadist) ../$(cmockasrc) && make && make install)
endif
check: libcmocka