diff options
author | Brent Cook <bcook@openbsd.org> | 2014-07-17 21:20:34 -0500 |
---|---|---|
committer | Brent Cook <bcook@openbsd.org> | 2014-07-18 09:19:17 -0500 |
commit | d697fdb4afb08bb46027a5efd1f8040bfdb8380e (patch) | |
tree | 9308884ee7206da1acb2a534e26c10f3ef308edd | |
parent | 0bc4bdde5f8140b23af15482000d733dfe700968 (diff) | |
download | portable-d697fdb4afb08bb46027a5efd1f8040bfdb8380e.tar.gz portable-d697fdb4afb08bb46027a5efd1f8040bfdb8380e.tar.bz2 portable-d697fdb4afb08bb46027a5efd1f8040bfdb8380e.zip |
initial underpinnings for mingw/cross compilation support
Use canonical host rather than target so that this works:
CC=i686-w64-mingw32-gcc ./configure --host=i686-w64-mingw32
Conditionally compile Linux issetugid compatibility function
ok beck@
-rw-r--r-- | configure.ac.tpl | 24 | ||||
-rw-r--r-- | crypto/Makefile.am.tpl | 11 |
2 files changed, 22 insertions, 13 deletions
diff --git a/configure.ac.tpl b/configure.ac.tpl index 8accb4d..cbd62a0 100644 --- a/configure.ac.tpl +++ b/configure.ac.tpl | |||
@@ -1,5 +1,5 @@ | |||
1 | AC_INIT([libressl], [VERSION]) | 1 | AC_INIT([libressl], [VERSION]) |
2 | AC_CANONICAL_TARGET | 2 | AC_CANONICAL_HOST |
3 | AM_INIT_AUTOMAKE([subdir-objects]) | 3 | AM_INIT_AUTOMAKE([subdir-objects]) |
4 | AC_CONFIG_MACRO_DIR([m4]) | 4 | AC_CONFIG_MACRO_DIR([m4]) |
5 | 5 | ||
@@ -8,29 +8,33 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | |||
8 | AC_SUBST([USER_CFLAGS], "-O2 $CFLAGS") | 8 | AC_SUBST([USER_CFLAGS], "-O2 $CFLAGS") |
9 | CFLAGS="$CFLAGS -Wall -std=c99 -g" | 9 | CFLAGS="$CFLAGS -Wall -std=c99 -g" |
10 | 10 | ||
11 | case $target_os in | 11 | case $host_os in |
12 | *darwin*) | 12 | *darwin*) |
13 | TARGET_OS=darwin; | 13 | HOST_OS=darwin; |
14 | LDFLAGS="$LDFLAGS -Qunused-arguments" | 14 | LDFLAGS="$LDFLAGS -Qunused-arguments" |
15 | ;; | 15 | ;; |
16 | *linux*) | 16 | *linux*) |
17 | TARGET_OS=linux; | 17 | HOST_OS=linux; |
18 | CFLAGS="$CFLAGS -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE" | 18 | CFLAGS="$CFLAGS -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE" |
19 | ;; | 19 | ;; |
20 | *solaris*) | 20 | *solaris*) |
21 | TARGET_OS=solaris; | 21 | HOST_OS=solaris; |
22 | CFLAGS="$CFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP" | 22 | CFLAGS="$CFLAGS -D__EXTENSIONS__ -D_XOPEN_SOURCE=600 -DBSD_COMP" |
23 | AC_SUBST([PLATFORM_LDADD], ['-lnsl -lsocket']) | 23 | AC_SUBST([PLATFORM_LDADD], ['-lnsl -lsocket']) |
24 | ;; | 24 | ;; |
25 | *openbsd*) | 25 | *openbsd*) |
26 | AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded]) | 26 | AC_DEFINE([HAVE_ATTRIBUTE__BOUNDED__], [1], [OpenBSD gcc has bounded]) |
27 | ;; | 27 | ;; |
28 | *mingw*) | ||
29 | HOST_OS=win32 | ||
30 | ;; | ||
28 | *) ;; | 31 | *) ;; |
29 | esac | 32 | esac |
30 | 33 | ||
31 | AM_CONDITIONAL(TARGET_DARWIN, test x$TARGET_OS = xdarwin) | 34 | AM_CONDITIONAL(HOST_DARWIN, test x$HOST_OS = xdarwin) |
32 | AM_CONDITIONAL(TARGET_LINUX, test x$TARGET_OS = xlinux) | 35 | AM_CONDITIONAL(HOST_LINUX, test x$HOST_OS = xlinux) |
33 | AM_CONDITIONAL(TARGET_SOLARIS, test x$TARGET_OS = xsolaris) | 36 | AM_CONDITIONAL(HOST_SOLARIS, test x$HOST_OS = xsolaris) |
37 | AM_CONDITIONAL(HOST_WIN, test x$HOST_OS = xwin) | ||
34 | 38 | ||
35 | AC_CHECK_FUNC([clock_gettime],, | 39 | AC_CHECK_FUNC([clock_gettime],, |
36 | [AC_SEARCH_LIBS([clock_gettime],[rt posix4])]) | 40 | [AC_SEARCH_LIBS([clock_gettime],[rt posix4])]) |
@@ -72,8 +76,8 @@ AM_CONDITIONAL(NO_ARC4RANDOM_BUF, test "x$NO_ARC4RANDOM_BUF" = "xyes") | |||
72 | 76 | ||
73 | # overrides for arc4random_buf implementations with known issues | 77 | # overrides for arc4random_buf implementations with known issues |
74 | AM_CONDITIONAL(NO_ARC4RANDOM_BUF, | 78 | AM_CONDITIONAL(NO_ARC4RANDOM_BUF, |
75 | test x$TARGET_OS = xdarwin \ | 79 | test x$HOST_OS = xdarwin \ |
76 | -o x$TARGET_OS = xsolaris \ | 80 | -o x$HOST_OS = xsolaris \ |
77 | -o x$NO_ARC4RANDOM_BUF = xyes) | 81 | -o x$NO_ARC4RANDOM_BUF = xyes) |
78 | 82 | ||
79 | AC_CHECK_FUNC(getentropy,[AC_SEARCH_LIBS(write,, [NO_GETENTROPY=], | 83 | AC_CHECK_FUNC(getentropy,[AC_SEARCH_LIBS(write,, [NO_GETENTROPY=], |
diff --git a/crypto/Makefile.am.tpl b/crypto/Makefile.am.tpl index 20c3495..d79a270 100644 --- a/crypto/Makefile.am.tpl +++ b/crypto/Makefile.am.tpl | |||
@@ -45,22 +45,27 @@ if NO_ARC4RANDOM_BUF | |||
45 | libcompat_la_SOURCES += compat/arc4random.c | 45 | libcompat_la_SOURCES += compat/arc4random.c |
46 | 46 | ||
47 | if NO_GETENTROPY | 47 | if NO_GETENTROPY |
48 | if TARGET_LINUX | 48 | if HOST_LINUX |
49 | libcompat_la_SOURCES += compat/getentropy_linux.c | 49 | libcompat_la_SOURCES += compat/getentropy_linux.c |
50 | endif | 50 | endif |
51 | if TARGET_DARWIN | 51 | if HOST_DARWIN |
52 | libcompat_la_SOURCES += compat/getentropy_osx.c | 52 | libcompat_la_SOURCES += compat/getentropy_osx.c |
53 | endif | 53 | endif |
54 | if TARGET_SOLARIS | 54 | if HOST_SOLARIS |
55 | libcompat_la_SOURCES += compat/getentropy_solaris.c | 55 | libcompat_la_SOURCES += compat/getentropy_solaris.c |
56 | endif | 56 | endif |
57 | if HOST_WIN | ||
58 | libcompat_la_SOURCES += compat/getentropy_win.c | ||
59 | endif | ||
57 | endif | 60 | endif |
58 | 61 | ||
59 | endif | 62 | endif |
60 | 63 | ||
61 | if NO_ISSETUGID | 64 | if NO_ISSETUGID |
65 | if HOST_LINUX | ||
62 | libcompat_la_SOURCES += compat/issetugid_linux.c | 66 | libcompat_la_SOURCES += compat/issetugid_linux.c |
63 | endif | 67 | endif |
68 | endif | ||
64 | 69 | ||
65 | noinst_HEADERS = des/ncbc_enc.c | 70 | noinst_HEADERS = des/ncbc_enc.c |
66 | noinst_HEADERS += compat/thread_private.h | 71 | noinst_HEADERS += compat/thread_private.h |