summaryrefslogtreecommitdiff
path: root/src/Makefile.am
diff options
context:
space:
mode:
authorMarcus Brinkmann <mb@g10code.com>2009-08-26 18:36:49 +0000
committerMarcus Brinkmann <mb@g10code.com>2009-08-26 18:36:49 +0000
commitbca49a41bfb5d3f1e8ce7412d15a865cfc482516 (patch)
tree5066bcc8971f3cdc1c97d17709c0e578eb4817e0 /src/Makefile.am
parent5809572eed9ac2ed694317e036a3cead8e8946d1 (diff)
downloadlibassuan-bca49a41bfb5d3f1e8ce7412d15a865cfc482516.tar.gz
2009-08-26 Marcus Brinkmann <marcus@g10code.de>
* configure.ac: Test for versioned symbols support. (LIBASSUAN_LT_CURRENT, LIBASSUAN_LT_AGE) (LIBASSUAN_LT_REVISION): New, set to 0. (LIBASSUAN_CONFIG_API_VERSION): Bump to 2. (AC_CONFIG_MACRO_DIR, AC_DISABLE_STATIC, AC_LIBTOOL_WIN32_DLL) (AC_LIBTOOL_RC, AC_PROG_LIBTOOL, AM_PATH_GPG_ERROR): Invoke. (AC_PROG_RANLIB): Don't invoke. (HAVE_W32_SYSTEM): New AM conditional. (AC_CONFIG_FILES): Add src/versioninfo.rc. * ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: New files from libtool 2.2.6. * tests/Makefile.am (AM_CFLAGS, LDADD): Add gpg-error. * tests/fdpassing.c: Change error values to gpg-error ones. src/ 2009-08-26 Marcus Brinkmann <marcus@g10code.de> * libassuan-config.in: Add gpg-error. * assuan-buffer.c, assuan-inquire.c, assuan-handler.c, assuan-util.c, assuan-client.c, assuan-socket-connect.c, assuan-pipe-connect.c, assuan-defs.h, assuan-socket.c, assuan-connect.c, assuan-uds.c, assuan-socket-server.c, assuan-listen.c, assuan-pipe-server.c: Return gpg_error_t instead assuan_error_t everywhere. Return gpg error codes everywhere. Replace xtrymalloc, xfree, etc with _assuan_malloc, _assuan_free etc. Protect include <config.h> by HAVE_CONFIG_H where not done so already. * versioninfo.rc.in, libassuan.vers, libassuan.def, assuan-error.c: New files. * Makefile.am: Add libtool handling and gpg-error (also for W32). (EXTRA_DIST): Remove mkerrors, add libassuan.vers, versioninfo.rc.in and libassuan.def. (BUILT_SOURCES, MOSTLYCLEANFILES): Removed. (common_sources): Remove assuan-errors.c, add assuan-error.c. * assuan.h: Include <gpg-error.h>. [_ASSUAN_ONLY_GPG_ERRORS]: Feature removed. (assuan_init_connected_socket_server, assuan_strerror) (assuan_pipe_connect2): Removed obsolete interfaces. (assuan_error_t): Removed type. (assuan_flag_t): Changed from enum to unsigned int. (ASSUAN_NO_WAITPID, ASSUAN_CONFIDENTIAL): Changed from enum to macro. (assuan_process): Return gpg_error_t instead of int. (assuan_set_assuan_err_source): Change argument type from int to gpg_err_source_t. * assuan-defs.h (_assuan_error): Change types to gpg_error_t. (err_code, err_is_eof, xtrymalloc, xtrycalloc, xtryrealloc) (xfree): Removed. (set_error): Adjust for gpg-error codes. (_assuan_gpg_strerror_r, _assuan_gpg_strsource): Removed. (struct assuan_context_s): Remove member os_errno. * assuan-socket-server.c (accept_connection): Don't set CTX->os_errno. * mkerrors: Removed file. * assuan-io-pth.c (_assuan_simple_sendmsg) (_assuan_simple_recvmsg), assuan-io.c (_assuan_simple_sendmsg, _assuan_simple_recvmsg): Set errno instead returning error directly (and return -1). * assuan-handler.c (assuan_process_done): Remove handling for old style error values. (process_request, assuan_process): Change return type from int to gpg_error_t. * assuan-client.c (assuan_transact): Remove support for old style error values. * assuan-pipe-connect.c (assuan_pipe_connect2): Removed. * assuan-logging.c (my_strerror_r, my_strsource) (load_libgpg_error, _assuan_gpg_strerror_r) (_assuan_gpg_strsource): Removed.
Diffstat (limited to 'src/Makefile.am')
-rw-r--r--src/Makefile.am75
1 files changed, 61 insertions, 14 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 77d87af..6749801 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
# Assuan Makefile
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2009 Free Software Foundation, Inc.
#
# This file is part of Assuan.
#
@@ -17,13 +17,12 @@
# License along with this program; if not, see <http://www.gnu.org/licenses/>.
## Process this file with automake to produce Makefile.in
-EXTRA_DIST = libassuan-config.in mkerrors libassuan.m4
+EXTRA_DIST = libassuan-config.in libassuan.m4 libassuan.vers \
+ versioninfo.rc.in libassuan.def
INCLUDES = -I.. -I$(top_srcdir)/include
-BUILT_SOURCES = assuan-errors.c
-MOSTLYCLEANFILES = assuan-errors.c
if HAVE_PTH
-libassuan_pth = libassuan-pth.a
+libassuan_pth = libassuan-pth.la
else
libassuan_pth =
endif
@@ -31,14 +30,20 @@ endif
bin_SCRIPTS = libassuan-config
m4datadir = $(datadir)/aclocal
m4data_DATA = libassuan.m4
-lib_LIBRARIES = libassuan.a $(libassuan_pth)
+lib_LTLIBRARIES = libassuan.la $(libassuan_pth)
include_HEADERS = assuan.h
+if HAVE_LD_VERSION_SCRIPT
+libassuan_version_script_cmd = -Wl,--version-script=$(srcdir)/libassuan.vers
+else
+libassuan_version_script_cmd =
+endif
+
common_sources = \
assuan-defs.h \
assuan-util.c \
- assuan-errors.c \
+ assuan-error.c \
assuan-buffer.c \
assuan-handler.c \
assuan-inquire.c \
@@ -53,14 +58,56 @@ common_sources = \
assuan-logging.c \
assuan-socket.c
-libassuan_a_SOURCES = $(common_sources) assuan-io.c
-libassuan_a_LIBADD = @LIBOBJS@
+if HAVE_W32_SYSTEM
+
+LTRCCOMPILE = $(LIBTOOL) --mode=compile $(RC) \
+ `echo $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) | \
+ sed -e 's/-I/--include-dir /g;s/-D/--define /g'`
+
+SUFFIXES: .rc .lo
+
+.rc.lo:
+ $(LTRCCOMPILE) -i $< -o $@
+
+libassuan_res = versioninfo.lo
+libassuan_res_ldflag = -Wl,.libs/versioninfo.o
+
+no_undefined = -no-undefined
+export_symbols = -export-symbols $(srcdir)/libassuan.def
+
+install-def-file:
+ $(INSTALL) $(srcdir)/libassuan.def $(DESTDIR)$(libdir)/libassuan.def
+
+uninstall-def-file:
+ -rm $(DESTDIR)$(libdir)/libassuan.def
+
+libassuan_deps = $(libassuan_res) libassuan.def
+
+else
+libassuan_res =
+libassuan_res_ldflag =
+no_undefined =
+export_symbols =
+install-def-file:
+uninstall-def-file:
+
+libassuan_deps =
+endif
+
+
+libassuan_la_SOURCES = $(common_sources) assuan-io.c
+libassuan_la_CPPFLAGS = $(AM_CPPFLAGS) @GPG_ERROR_CFLAGS@
+libassuan_la_LDFLAGS = $(libassuan_res_ldflag) $(no_undefined) \
+ $(export_symbols) $(libassuan_version_script_cmd) -version-info \
+ @LIBASSUAN_LT_CURRENT@:@LIBASSUAN_LT_REVISION@:@LIBASSUAN_LT_AGE@
+libassuan_la_DEPENDENCIES = @LTLIBOBJS@ \
+ $(srcdir)/libassuan.vers $(libassuan_deps)
+libassuan_la_LIBADD = @LTLIBOBJS@ @GPG_ERROR_LIBS@
if HAVE_PTH
-libassuan_pth_a_SOURCES = $(common_sources) assuan-io-pth.c
-libassuan_pth_a_CFLAGS = $(AM_CFLAGS) $(PTH_CFLAGS)
-libassuan_pth_a_LIBADD = @LIBOBJS@
+libassuan_pth_la_SOURCES = $(common_sources) assuan-io-pth.c
+libassuan_pth_la_CPPFLAGS = $(AM_CPPFLAGS) @GPG_ERROR_CFLAGS@ @PTH_CFLAGS@
+libassuan_pth_la_CFLAGS = $(AM_CFLAGS) @GPG_ERROR_CFLAGS@ $(PTH_CFLAGS)
+libassuan_pth_la_LIBADD = @LTLIBOBJS@ @GPG_ERROR_LIBS@ @PTH_LIBS@
endif
-assuan-errors.c : assuan.h mkerrors
- $(srcdir)/mkerrors < $(srcdir)/assuan.h > assuan-errors.c