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
This commit is contained in:
Yang Tse 2012-04-09 21:24:16 +02:00
parent 01b0f1061d
commit 21423497ef
9 changed files with 60 additions and 45 deletions

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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