Skip to content

Commit 87d9045

Browse files
author
Jeff Garzik
committed
Merge pull request #10 from theuni/build-changes2
More build fixups
2 parents c72d971 + f748215 commit 87d9045

File tree

7 files changed

+49
-9
lines changed

7 files changed

+49
-9
lines changed

.travis.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,23 @@ before_script:
3030
- test -n "$USE_SHELL" && eval '"$USE_SHELL" -c "./autogen.sh"' || ./autogen.sh
3131

3232
script:
33+
- if [ -n "$UNIVALUE_CONFIG" ]; then unset CC; unset CXX; fi
3334
- OUTDIR=$BASE_OUTDIR/$TRAVIS_PULL_REQUEST/$TRAVIS_JOB_NUMBER-$HOST
3435
- UNIVALUE_CONFIG_ALL="--prefix=$TRAVIS_BUILD_DIR/depends/$HOST --bindir=$OUTDIR/bin --libdir=$OUTDIR/lib"
3536
- ./configure --cache-file=config.cache $UNIVALUE_CONFIG_ALL $UNIVALUE_CONFIG || ( cat config.log && false)
3637
- make -s $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL ; false )
3738
- export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib
3839
- if [ "$RUN_TESTS" = "true" ]; then make check; fi
3940

41+
matrix:
42+
fast_finish: true
43+
include:
44+
- os: linux
45+
compiler: gcc
46+
env: UNIVALUE_CONFIG=--host=x86_64-w64-mingw32 RUN_TESTS=false
47+
addons:
48+
apt:
49+
packages:
50+
- g++-mingw-w64-x86-64
51+
- gcc-mingw-w64-x86-64
52+
- binutils-mingw-w64-x86-64

Makefile.am

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
ACLOCAL_AMFLAGS = -I build-aux/m4
2+
.PHONY: gen
3+
.INTERMEDIATE: $(GENBIN)
24

3-
include_HEADERS = lib/univalue.h lib/univalue_escapes.h
5+
include_HEADERS = include/univalue.h
6+
noinst_HEADERS = lib/univalue_escapes.h
47

58
lib_LTLIBRARIES = lib/libunivalue.la
69

10+
pkgconfigdir = $(libdir)/pkgconfig
11+
pkgconfig_DATA = pc/libunivalue.pc
12+
713
lib_libunivalue_la_SOURCES = \
814
lib/univalue.cpp \
915
lib/univalue_read.cpp \
@@ -12,18 +18,29 @@ lib_libunivalue_la_SOURCES = \
1218
lib_libunivalue_la_LDFLAGS = \
1319
-version-info $(LIBUNIVALUE_CURRENT):$(LIBUNIVALUE_REVISION):$(LIBUNIVALUE_AGE) \
1420
-no-undefined
21+
lib_libunivalue_la_CXXFLAGS = -I$(top_srcdir)/include
1522

1623
TESTS = test/unitester
1724

18-
noinst_PROGRAMS = lib/gen $(TESTS)
25+
GENBIN = gen/gen$(BUILD_EXEEXT)
26+
GEN_SRCS = gen/gen.cpp
27+
28+
$(GENBIN): $(GEN_SRCS)
29+
@echo Building $@
30+
$(AM_V_at)c++ -I$(top_srcdir)/include -o $@ $<
31+
32+
gen: lib/univalue_escapes.h $(GENBIN)
33+
@echo Updating $<
34+
$(AM_V_at)$(GENBIN) > lib/univalue_escapes.h
1935

20-
lib_gen_SOURCES = lib/gen.cpp
36+
noinst_PROGRAMS = $(TESTS)
2137

2238
TEST_DATA_DIR=test
2339

2440
test_unitester_SOURCES = test/unitester.cpp
2541
test_unitester_LDADD = lib/libunivalue.la
26-
test_unitester_CXXFLAGS = -I$(top_srcdir)/lib -DJSON_TEST_SRC=\"$(srcdir)/$(TEST_DATA_DIR)\"
42+
test_unitester_CXXFLAGS = -I$(top_srcdir)/include -DJSON_TEST_SRC=\"$(srcdir)/$(TEST_DATA_DIR)\"
43+
test_unitester_LDFLAGS = -static $(LIBTOOL_APP_LDFLAGS)
2744

2845
TEST_FILES = \
2946
$(TEST_DATA_DIR)/fail10.json \
@@ -64,4 +81,4 @@ TEST_FILES = \
6481
$(TEST_DATA_DIR)/pass2.json \
6582
$(TEST_DATA_DIR)/pass3.json
6683

67-
EXTRA_DIST=$(TEST_FILES)
84+
EXTRA_DIST=$(TEST_FILES) $(GEN_SRCS)

configure.ac

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,23 @@ LT_LANG([C++])
4747

4848
case $host in
4949
*mingw*)
50-
LDFLAGS+=" -static-libgcc -static-libstdc++"
51-
;;
50+
LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"
51+
;;
52+
esac
53+
54+
BUILD_EXEEXT=
55+
case $build in
56+
*mingw*)
57+
BUILD_EXEEXT=".exe"
58+
;;
5259
esac
5360

5461
AC_CONFIG_FILES([
5562
Makefile
56-
lib/libunivalue.pc
57-
lib/libunivalue-uninstalled.pc])
63+
pc/libunivalue.pc
64+
pc/libunivalue-uninstalled.pc])
65+
66+
AC_SUBST(LIBTOOL_APP_LDFLAGS)
67+
AC_SUBST(BUILD_EXEEXT)
5868
AC_OUTPUT
5969

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)