aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2012-04-09 21:24:16 +0200
committerYang Tse <yangsita@gmail.com>2012-04-09 21:24:16 +0200
commit21423497efe36c70615d0a54e040f76043823345 (patch)
tree28baa5aa512f4352ef7a0dfd34bd6fc7c6f8d7b3
parent01b0f1061da2bd7a8703f4c8aa846a9088d7ab3e (diff)
configure: Windows cross-compilation fixes
BUILDING_LIBCURL and CURL_STATICLIB are no longer defined in curl_config.h, configure will generate appropriate conditionals so that mentioned symbols get defined and used in Makefiles at compilation time
-rw-r--r--configure.ac13
-rw-r--r--docs/examples/Makefile.am12
-rw-r--r--lib/Makefile.am14
-rw-r--r--lib/config-symbian.h15
-rw-r--r--lib/config-tpf.h16
-rw-r--r--lib/config-vxworks.h16
-rw-r--r--src/Makefile.am5
-rw-r--r--tests/libtest/Makefile.am7
-rw-r--r--tests/unit/Makefile.am7
9 files changed, 60 insertions, 45 deletions
diff --git a/configure.ac b/configure.ac
index 81521ff29..976553c10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -236,21 +236,18 @@ esac
AC_MSG_RESULT($mimpure)
AM_CONDITIONAL(MIMPURE, test x$mimpure = xyes)
-dnl 'STATICLIB' is, in spite of its name, not generic but only for static-only
-dnl builds on Windows
-AM_CONDITIONAL(STATICLIB, false)
-
AC_MSG_CHECKING([if we need BUILDING_LIBCURL])
+use_cppflag_building_libcurl="no"
+use_cppflag_curl_staticlib="no"
case $host in
*-*-mingw*)
- AC_DEFINE(BUILDING_LIBCURL, 1, [when building libcurl itself])
AC_MSG_RESULT(yes)
+ use_cppflag_building_libcurl="yes"
AC_MSG_CHECKING([if we need CURL_STATICLIB])
if test "X$enable_shared" = "Xno"
then
- AC_DEFINE(CURL_STATICLIB, 1, [when not building a shared library])
AC_MSG_RESULT(yes)
- AM_CONDITIONAL(STATICLIB, true)
+ use_cppflag_curl_staticlib="yes"
else
AC_MSG_RESULT(no)
fi
@@ -259,6 +256,8 @@ case $host in
AC_MSG_RESULT(no)
;;
esac
+AM_CONDITIONAL(USE_CPPFLAG_BUILDING_LIBCURL, test x$use_cppflag_building_libcurl = xyes)
+AM_CONDITIONAL(USE_CPPFLAG_CURL_STATICLIB, test x$use_cppflag_curl_staticlib = xyes)
# Determine whether all dependent libraries must be specified when linking
if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno"
diff --git a/docs/examples/Makefile.am b/docs/examples/Makefile.am
index 735942e78..a71014d7c 100644
--- a/docs/examples/Makefile.am
+++ b/docs/examples/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -40,12 +40,12 @@ INCLUDES = -I$(top_builddir)/include/curl \
LIBDIR = $(top_builddir)/lib
-if STATICLIB
-# we need this define when building with a static lib on Windows
-STATICCPPFLAGS = -DCURL_STATICLIB
-endif
+AM_CPPFLAGS = -DCURL_NO_OLDIES
-CPPFLAGS = -DCURL_NO_OLDIES $(STATICCPPFLAGS)
+# Mostly for Windows build targets, when using static libcurl
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS += -DCURL_STATICLIB
+endif
# Dependencies
LDADD = $(LIBDIR)/libcurl.la
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 52cbdd700..76fd66040 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -77,6 +77,18 @@ INCLUDES = -I$(top_builddir)/include/curl \
-I$(top_srcdir)/lib
endif
+AM_CPPFLAGS =
+
+# Mostly for Windows build targets, when building libcurl library
+if USE_CPPFLAG_BUILDING_LIBCURL
+AM_CPPFLAGS += -DBUILDING_LIBCURL
+endif
+
+# Mostly for Windows build targets, when building static libcurl
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS += -DCURL_STATICLIB
+endif
+
if SONAME_BUMP
#
# Bumping of SONAME conditionally may seem like a weird thing to do, and yeah
diff --git a/lib/config-symbian.h b/lib/config-symbian.h
index 24ed73327..b4dc03288 100644
--- a/lib/config-symbian.h
+++ b/lib/config-symbian.h
@@ -1,4 +1,5 @@
-/* config-symbian.h. Manually generated. */
+#ifndef HEADER_CURL_CONFIG_SYMBIAN_H
+#define HEADER_CURL_CONFIG_SYMBIAN_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -6,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -21,8 +22,9 @@
*
***************************************************************************/
-/* when building libcurl itself */
-/* #undef BUILDING_LIBCURL */
+/* ================================================================ */
+/* Hand crafted config file for Symbian */
+/* ================================================================ */
/* Location of default ca bundle */
/* #define CURL_CA_BUNDLE "/etc/pki/tls/certs/ca-bundle.crt"*/
@@ -72,9 +74,6 @@
/* Use Windows LDAP implementation */
/* #undef CURL_LDAP_WIN */
-/* when not building a shared library */
-/* #undef CURL_STATICLIB */
-
/* your Entropy Gathering Daemon socket pathname */
/* #undef EGD_SOCKET */
@@ -830,3 +829,5 @@
/* if OpenSSL is in use */
#define USE_OPENSSL
#endif
+
+#endif /* HEADER_CURL_CONFIG_SYMBIAN_H */
diff --git a/lib/config-tpf.h b/lib/config-tpf.h
index 673753100..0208ab835 100644
--- a/lib/config-tpf.h
+++ b/lib/config-tpf.h
@@ -1,5 +1,5 @@
-#ifndef __LIBCONFIGTPF_H
-#define __LIBCONFIGTPF_H
+#ifndef HEADER_CURL_CONFIG_TPF_H
+#define HEADER_CURL_CONFIG_TPF_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -23,7 +23,7 @@
***************************************************************************/
/* ================================================================ */
-/* lib/config-tpf.h - Hand crafted config file for TPF */
+/* Hand crafted config file for TPF */
/* ================================================================ */
/* ---------------------------------------------------------------- */
@@ -32,9 +32,6 @@
/* NOTE: Refer also to the .mak file for some of the flags below */
-/* when building libcurl itself */
-/* #undef BUILDING_LIBCURL */
-
/* to disable cookies support */
/* #undef CURL_DISABLE_COOKIES */
@@ -65,9 +62,6 @@
/* to disable verbose strings */
/* #undef CURL_DISABLE_VERBOSE_STRINGS */
-/* when not building a shared library */
-/* #undef CURL_STATICLIB */
-
/* lber dynamic library file */
/* #undef DL_LBER_FILE */
@@ -779,4 +773,4 @@
#endif
-#endif /* __LIBCONFIGTPF_H */
+#endif /* HEADER_CURL_CONFIG_TPF_H */
diff --git a/lib/config-vxworks.h b/lib/config-vxworks.h
index 8e2d05a27..53266c021 100644
--- a/lib/config-vxworks.h
+++ b/lib/config-vxworks.h
@@ -1,5 +1,5 @@
-#ifndef __LIB_CONFIG_VXWORKS_H
-#define __LIB_CONFIG_VXWORKS_H
+#ifndef HEADER_CURL_CONFIG_VXWORKS_H
+#define HEADER_CURL_CONFIG_VXWORKS_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -23,12 +23,9 @@
***************************************************************************/
/* =============================================================== */
-/* lib/config-vxworks.h - Hand crafted config file for VxWorks */
+/* Hand crafted config file for VxWorks */
/* =============================================================== */
-/* when building libcurl itself */
-/* #undef BUILDING_LIBCURL */
-
/* Location of default ca bundle */
/* #undef CURL_CA_BUNDLE */
@@ -83,9 +80,6 @@
/* Use Windows LDAP implementation */
/* #undef CURL_LDAP_WIN */
-/* when not building a shared library */
-/* #undef CURL_STATICLIB */
-
/* your Entropy Gathering Daemon socket pathname */
/* #undef EGD_SOCKET */
@@ -952,4 +946,4 @@
/* the signed version of size_t */
/* #undef ssize_t */
-#endif /* __LIB_CONFIG_VXWORKS_H */
+#endif /* HEADER_CURL_CONFIG_VXWORKS_H */
diff --git a/src/Makefile.am b/src/Makefile.am
index 3e372422f..fb16192e3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -44,6 +44,11 @@ INCLUDES = -I$(top_builddir)/include/curl \
bin_PROGRAMS = curl
+# Mostly for Windows build targets, when using static libcurl
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS = -DCURL_STATICLIB
+endif
+
include Makefile.inc
# This might hold -Werror
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
index 9c0d59507..be667ee22 100644
--- a/tests/libtest/Makefile.am
+++ b/tests/libtest/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -57,6 +57,11 @@ test1022.pl Makefile.inc
LDADD = $(top_builddir)/lib/libcurl.la @CURL_LIBS@
DEPENDENCIES = $(top_builddir)/lib/libcurl.la
+# Mostly for Windows build targets, when using static libcurl
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS = -DCURL_STATICLIB
+endif
+
# Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES,
# noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS)
include Makefile.inc
diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
index aa74dc1ad..78166f869 100644
--- a/tests/unit/Makefile.am
+++ b/tests/unit/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -58,6 +58,11 @@ LDADD = $(top_builddir)/lib/libcurlu.la @LDFLAGS@ @LIBCURL_LIBS@ @LIBS@
DEPENDENCIES = $(top_builddir)/lib/libcurlu.la
AM_CPPFLAGS = -DUNITTESTS
+# Mostly for Windows build targets, when using static libcurl
+if USE_CPPFLAG_CURL_STATICLIB
+AM_CPPFLAGS += -DCURL_STATICLIB
+endif
+
# Makefile.inc provides neat definitions
include Makefile.inc