1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
From c349964887901848fb4cd5db53a5bcb6dae27aaa Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Sun, 23 Nov 2014 10:16:33 +0100
Subject: [PATCH] Add minimal support for --{enable,disable}-{shared,static}
mpdecimal uses autoconf, but not automake or libtool, so this commit
adds some basic handling of --{enable,disable}-{shared,static}, so
that building the shared library can be disabled in pure static
library contexts.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Makefile.in | 6 ++++++
configure.ac | 13 +++++++++++++
libmpdec/Makefile.in | 11 ++++++++++-
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 2c91891..0c44f36 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -9,6 +9,8 @@ LIBSTATIC = @LIBSTATIC@
LIBSONAME = @LIBSONAME@
LIBSHARED = @LIBSHARED@
INSTALL = @INSTALL@
+BUILD_SHARED = @BUILD_SHARED@
+BUILD_STATIC = @BUILD_STATIC@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -32,9 +34,13 @@ install: FORCE
$(INSTALL) -d -m 755 $(DESTDIR)$(includedir)
$(INSTALL) -m 644 libmpdec/mpdecimal.h $(DESTDIR)$(includedir)
$(INSTALL) -d -m 755 $(DESTDIR)$(libdir)
+ifeq ($(BUILD_STATIC),yes)
$(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)
+endif
+ifeq ($(BUILD_SHARED),yes)
$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)
cd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so
+endif
$(INSTALL) -d -m 755 $(DESTDIR)$(docdir)
cp -R doc/* $(DESTDIR)$(docdir)
diff --git a/configure.ac b/configure.ac
index 7ee8f86..2b3e505 100644
--- a/configure.ac
+++ b/configure.ac
@@ -88,6 +88,19 @@ CFLAGS="$saved_cflags"
AC_PROG_INSTALL
AC_SUBST(INSTALL)
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared], [build shared library])],
+ [BUILD_SHARED=$enableval],
+ [BUILD_SHARED=yes])
+
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static], [build static library])],
+ [BUILD_STATIC=$enableval],
+ [BUILD_STATIC=yes])
+
+AC_SUBST(BUILD_SHARED)
+AC_SUBST(BUILD_STATIC)
+
# _FORTIFY_SOURCE wrappers for memmove and bcopy are incorrect:
# http://sourceware.org/ml/libc-alpha/2010-12/msg00009.html
AC_MSG_CHECKING(for glibc _FORTIFY_SOURCE/memmove bug)
diff --git a/libmpdec/Makefile.in b/libmpdec/Makefile.in
index d9619a3..985c73c 100644
--- a/libmpdec/Makefile.in
+++ b/libmpdec/Makefile.in
@@ -7,6 +7,8 @@
LIBSTATIC = @LIBSTATIC@
LIBSONAME = @LIBSONAME@
LIBSHARED = @LIBSHARED@
+BUILD_SHARED = @BUILD_SHARED@
+BUILD_STATIC = @BUILD_STATIC@
CC = @CC@
LD = @LD@
@@ -32,8 +34,15 @@ ifeq ($(MAKECMDGOALS), profile_use)
MPD_LDFLAGS += $(MPD_PUSE)
endif
+ifeq ($(BUILD_SHARED),yes)
+TARGETS += $(LIBSHARED)
+endif
+
+ifeq ($(BUILD_STATIC),yes)
+TARGETS += $(LIBSTATIC)
+endif
-default: $(LIBSTATIC) $(LIBSHARED)
+default: $(TARGETS)
OBJS := basearith.o context.o constants.o convolute.o crt.o mpdecimal.o \
--
2.1.0
|