Skip to content
This repository was archived by the owner on Dec 2, 2024. It is now read-only.

Commit e0511a8

Browse files
committed
Update buildsys
1 parent fefe0e5 commit e0511a8

2 files changed

Lines changed: 68 additions & 5 deletions

File tree

autogen.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
set -e
3+
4+
# Set a version for OpenBSD
5+
: ${AUTOCONF_VERSION:=2.69}
6+
: ${AUTOMAKE_VERSION:=1.15}
7+
export AUTOCONF_VERSION AUTOMAKE_VERSION
8+
9+
aclocal -I build-aux/m4
10+
autoconf

build-aux/m4/buildsys.m4

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl
2-
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016
2+
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017
33
dnl Jonathan Schleifer <js@heap.zone>
44
dnl
55
dnl https://heap.zone/git/?p=buildsys.git
@@ -59,6 +59,20 @@ AC_DEFUN([BUILDSYS_INIT], [
5959
"$($TPUT setaf 4 2>/dev/null)")
6060
AC_SUBST(TERM_SETAF6,
6161
"$($TPUT setaf 6 2>/dev/null)")
62+
dnl OpenBSD seems to want 3 parameters for terminals
63+
dnl ending in -256color, but the additional two
64+
dnl parameters don't seem to do anything, so we set
65+
dnl them to 0.
66+
elif x=$($TPUT setaf 1 0 0 2>/dev/null); then
67+
AC_SUBST(TERM_SETAF1, "$x")
68+
AC_SUBST(TERM_SETAF2,
69+
"$($TPUT setaf 2 0 0 2>/dev/null)")
70+
AC_SUBST(TERM_SETAF3,
71+
"$($TPUT setaf 3 0 0 2>/dev/null)")
72+
AC_SUBST(TERM_SETAF4,
73+
"$($TPUT setaf 4 0 0 2>/dev/null)")
74+
AC_SUBST(TERM_SETAF6,
75+
"$($TPUT setaf 6 0 0 2>/dev/null)")
6276
else
6377
AC_SUBST(TERM_SETAF1,
6478
"$($TPUT AF 1 2>/dev/null)")
@@ -100,7 +114,7 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
100114
cygwin* | mingw*)
101115
AC_MSG_RESULT(yes)
102116
PROG_IMPLIB_NEEDED='yes'
103-
PROG_IMPLIB_LDFLAGS='-Wl,-export-all-symbols,--out-implib,lib${PROG}.a'
117+
PROG_IMPLIB_LDFLAGS='-Wl,--export-all-symbols,--out-implib,lib${PROG}.a'
104118
;;
105119
*)
106120
AC_MSG_RESULT(no)
@@ -121,10 +135,10 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
121135
AC_MSG_RESULT(Darwin)
122136
LIB_CFLAGS='-fPIC -DPIC'
123137
LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
138+
LIB_LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib'
124139
LIB_PREFIX='lib'
125140
LIB_SUFFIX='.dylib'
126141
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
127-
LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib'
128142
PLUGIN_CFLAGS='-fPIC -DPIC'
129143
PLUGIN_LDFLAGS='-bundle -undefined dynamic_lookup'
130144
PLUGIN_SUFFIX='.bundle'
@@ -135,7 +149,8 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
135149
mingw* | cygwin*)
136150
AC_MSG_RESULT(MinGW / Cygwin)
137151
LIB_CFLAGS=''
138-
LIB_LDFLAGS='-shared -Wl,--out-implib,${SHARED_LIB}.a'
152+
LIB_LDFLAGS='-shared -Wl,--export-all-symbols,--out-implib,${SHARED_LIB}.a'
153+
LIB_LDFLAGS_INSTALL_NAME=''
139154
LIB_PREFIX='lib'
140155
LIB_SUFFIX='.dll'
141156
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
@@ -150,6 +165,7 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
150165
AC_MSG_RESULT(OpenBSD)
151166
LIB_CFLAGS='-fPIC -DPIC'
152167
LIB_LDFLAGS='-shared'
168+
LIB_LDFLAGS_INSTALL_NAME=''
153169
LIB_PREFIX='lib'
154170
LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}'
155171
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
@@ -164,6 +180,7 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
164180
AC_MSG_RESULT(Solaris)
165181
LIB_CFLAGS='-fPIC -DPIC'
166182
LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}.${LIB_MINOR}'
183+
LIB_LDFLAGS_INSTALL_NAME=''
167184
LIB_PREFIX='lib'
168185
LIB_SUFFIX='.so'
169186
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
@@ -178,6 +195,7 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
178195
AC_MSG_RESULT(Android)
179196
LIB_CFLAGS='-fPIC -DPIC'
180197
LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}'
198+
LIB_LDFLAGS_INSTALL_NAME=''
181199
LIB_PREFIX='lib'
182200
LIB_SUFFIX='.so'
183201
LDFLAGS_RPATH=''
@@ -192,6 +210,7 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
192210
AC_MSG_RESULT(ELF)
193211
LIB_CFLAGS='-fPIC -DPIC'
194212
LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}'
213+
LIB_LDFLAGS_INSTALL_NAME=''
195214
LIB_PREFIX='lib'
196215
LIB_SUFFIX='.so'
197216
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
@@ -206,14 +225,48 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
206225
207226
AC_SUBST(LIB_CFLAGS)
208227
AC_SUBST(LIB_LDFLAGS)
228+
AC_SUBST(LIB_LDFLAGS_INSTALL_NAME)
209229
AC_SUBST(LIB_PREFIX)
210230
AC_SUBST(LIB_SUFFIX)
211231
AC_SUBST(LDFLAGS_RPATH)
212-
AC_SUBST(LDFLAGS_INSTALL_NAME)
213232
AC_SUBST(PLUGIN_CFLAGS)
214233
AC_SUBST(PLUGIN_LDFLAGS)
215234
AC_SUBST(PLUGIN_SUFFIX)
216235
AC_SUBST(INSTALL_LIB)
217236
AC_SUBST(UNINSTALL_LIB)
218237
AC_SUBST(CLEAN_LIB)
219238
])
239+
240+
AC_DEFUN([BUILDSYS_FRAMEWORK], [
241+
AC_REQUIRE([AC_CANONICAL_HOST])
242+
AC_REQUIRE([BUILDSYS_SHARED_LIB])
243+
244+
AC_CHECK_TOOL(CODESIGN, codesign)
245+
246+
case "$host_os" in
247+
darwin*)
248+
AC_MSG_CHECKING(whether host is iOS)
249+
AC_EGREP_CPP(yes, [
250+
#include <TargetConditionals.h>
251+
252+
#if (defined(TARGET_OS_IPHONE) && \
253+
TARGET_OS_IPHONE) || \
254+
(defined(TARGET_OS_SIMULATOR) && \
255+
TARGET_OS_SIMULATOR)
256+
yes
257+
#endif
258+
], [
259+
AC_MSG_RESULT(yes)
260+
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
261+
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}'
262+
], [
263+
AC_MSG_RESULT(no)
264+
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
265+
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}'
266+
])
267+
268+
AC_SUBST(FRAMEWORK_LDFLAGS)
269+
AC_SUBST(FRAMEWORK_LDFLAGS_INSTALL_NAME)
270+
;;
271+
esac
272+
])

0 commit comments

Comments
 (0)