summaryrefslogtreecommitdiff
path: root/lib/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Makefile.am')
-rw-r--r--lib/Makefile.am297
1 files changed, 297 insertions, 0 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am
new file mode 100644
index 00000000..24644e33
--- /dev/null
+++ b/lib/Makefile.am
@@ -0,0 +1,297 @@
+## Makefile for the lib subdirectory of GNU libunistring.
+## Copyright (C) 2009 Free Software Foundation, Inc.
+##
+## This program is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 3 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects no-dependencies
+EXTRA_DIST =
+BUILT_SOURCES =
+MOSTLYCLEANFILES = core *.stackdump
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
+SUFFIXES =
+
+lib_LTLIBRARIES = libunistring.la
+
+nobase_include_HEADERS = \
+ unitypes.h \
+ unistr.h \
+ uniconv.h \
+ unistdio.h \
+ uniname.h \
+ unictype.h \
+ uniwidth.h \
+ uniwbrk.h \
+ unilbrk.h \
+ uninorm.h \
+ unicase.h \
+ unistring/inline.h
+
+noinst_HEADERS = \
+ unistring-notinline.h
+
+AM_CPPFLAGS = \
+ -I. -I$(srcdir) \
+ -I$(top_builddir) -I$(top_srcdir) \
+ -DIN_LIBUNISTRING
+
+# Rules generated and collected by gnulib-tool.
+include Makefile.gnulib
+
+# Additional source files.
+libunistring_la_SOURCES += version.c
+
+# The <stdbool.h> and <stdint.h> replacements that can be installed.
+nobase_nodist_include_HEADERS = \
+ unistring/stdbool.h \
+ unistring/stdint.h
+
+# Produce an unistring/stdbool.h that is not compiler dependent.
+# GCC >= 2.95 has <stdbool.h>.
+# AIX >= 5.3 has <stdbool.h>.
+# Solaris 10 and some HP-UX 11 versions have <stdbool.h> but it does not
+# necessarily work.
+unistring/stdbool.h : $(STDBOOL_H)
+ @MKDIR_P@ unistring
+ rm -f $@-t $@
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ echo '#if !defined _GL_STDBOOL_H'; \
+ if test -f /usr/include/stdbool.h; then \
+ echo '#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || defined _AIX'; \
+ else \
+ echo '#if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))'; \
+ fi; \
+ echo '#include <stdbool.h>'; \
+ echo '#else'; \
+ cat $(srcdir)/stdbool.mini.h; \
+ echo '#endif'; \
+ echo '#endif'; \
+ } > $@-t
+ mv $@-t $@
+BUILT_SOURCES += unistring/stdbool.h
+MOSTLYCLEANFILES += unistring/stdbool.h-t
+CLEANFILES += unistring/stdbool.h
+
+# Produce an unistring/stdint.h that is not compiler dependent.
+# Glibc >= 2 has <stdint.h>.
+# On most other platforms that have it, it is buggy in one way or the other.
+unistring/stdint.h : $(STDINT_H) stdint.mini.h
+ @MKDIR_P@ unistring
+ rm -f $@-t $@
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ echo '#include <stddef.h>'; \
+ echo '#if __GLIBC__ >= 2'; \
+ echo '#include <stdint.h>'; \
+ echo '#else'; \
+ if test -f /usr/include/stdint.h; then \
+ HAVE_STDINT_H='1'; \
+ else \
+ HAVE_STDINT_H='defined __MINGW32__ || defined __HAIKU__'; \
+ fi; \
+ if test -f /usr/include/inttypes.h; then \
+ HAVE_INTTYPES_H='1'; \
+ else \
+ HAVE_INTTYPES_H='defined __MINGW32__ || defined __HAIKU__'; \
+ fi; \
+ if test -f /usr/include/sys/inttypes.h; then \
+ HAVE_SYS_INTTYPES_H='1'; \
+ else \
+ HAVE_SYS_INTTYPES_H='0'; \
+ fi; \
+ sed -e 's/@''HAVE_STDINT_H''@/'"$$HAVE_STDINT_H"'/g' \
+ -e 's|@''INCLUDE_NEXT''@|include|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@||g' \
+ -e 's|@''NEXT_STDINT_H''@|<stdint.h>|g' \
+ -e 's/@''HAVE_SYS_TYPES_H''@/1/g' \
+ -e 's/@''HAVE_INTTYPES_H''@/'"$$HAVE_INTTYPES_H"'/g' \
+ -e 's/@''HAVE_SYS_INTTYPES_H''@/'"$$HAVE_SYS_INTTYPES_H"'/g' \
+ -e 's/@''HAVE_SYS_BITYPES_H''@/0/g' \
+ < $(srcdir)/stdint.mini.h; \
+ echo '#endif'; \
+ } > $@-t
+ mv $@-t $@
+BUILT_SOURCES += unistring/stdint.h
+MOSTLYCLEANFILES += unistring/stdint.h-t
+CLEANFILES += unistring/stdint.h
+EXTRA_DIST += stdint.mini.h
+
+# localcharset.h is not public, but its contents is documented.
+nobase_nodist_include_HEADERS += unistring/localcharset.h
+unistring/localcharset.h : localcharset.h
+ @MKDIR_P@ unistring
+ rm -f $@-t $@
+ cp $(srcdir)/localcharset.h $@-t
+ mv $@-t $@
+BUILT_SOURCES += unistring/localcharset.h
+MOSTLYCLEANFILES += unistring/localcharset.h-t
+CLEANFILES += unistring/localcharset.h
+
+# iconveh.h is not public, but its contents is documented.
+nobase_nodist_include_HEADERS += unistring/iconveh.h
+unistring/iconveh.h : iconveh.h
+ @MKDIR_P@ unistring
+ rm -f $@-t $@
+ cp $(srcdir)/iconveh.h $@-t
+ mv $@-t $@
+BUILT_SOURCES += unistring/iconveh.h
+MOSTLYCLEANFILES += unistring/iconveh.h-t
+CLEANFILES += unistring/iconveh.h
+
+# unistring/version.h is public.
+nobase_nodist_include_HEADERS += unistring/version.h
+
+# unistring/woe32dll.h is not public, but is included by other header files.
+nobase_nodist_include_HEADERS += unistring/woe32dll.h
+
+# Directories that contain some CLEANFILES.
+CLEANDIRS =
+CLEANDIRS_NOT_IN_SRCDIR = unistring
+clean-local: clean-generic
+ @for dir in '' $(CLEANDIRS); do \
+ if test -n "$$dir" && test -d $$dir; then \
+ echo "rmdir $$dir"; rmdir $$dir; \
+ fi; \
+ done; \
+ if test '$(srcdir)' != '.'; then \
+ for dir in '' $(CLEANDIRS_NOT_IN_SRCDIR); do \
+ if test -n "$$dir" && test -d $$dir; then \
+ echo "rmdir $$dir"; rmdir $$dir; \
+ fi; \
+ done; \
+ fi; \
+ :
+
+# List of header files that get installed and that declare 'extern' symbols.
+HEADERS_WITH_EXTERNS = \
+ unitypes.h \
+ unistr.h \
+ uniconv.h \
+ unistdio.h \
+ uniname.h \
+ unictype.h \
+ uniwidth.h \
+ uniwbrk.h \
+ unilbrk.h \
+ uninorm.h \
+ unicase.h \
+ localcharset.h \
+ iconveh.h \
+ unistring/version.in.h
+
+# List of exported symbols.
+# We extract it from the header files that get installed, removing symbols
+# start with "_UC".
+# This file has the same format as the one expected by the libtool option
+# '-export-symbols', but we don't use this option, because it would prevent us
+# from building some of the gnulib unit tests.
+libunistring.sym : $(HEADERS_WITH_EXTERNS)
+ for f in $(HEADERS_WITH_EXTERNS); do cat $(srcdir)/$$f; done \
+ | $(srcdir)/declared.sh | LC_ALL=C sort | LC_ALL=C uniq \
+ | grep -v '^_UC' \
+ > $@-t
+ mv $@-t $@
+# We distribute it because declared.sh relies on GNU sed.
+MOSTLYCLEANFILES += libunistring.sym-t
+MAINTAINERCLEANFILES += libunistring.sym
+EXTRA_DIST += libunistring.sym declared.sh
+
+# Tell the mingw or Cygwin linker which symbols to export.
+if WOE32DLL
+libunistring_la_SOURCES += ../woe32dll/unistring-exports.c
+libunistring_la_LDFLAGS += -Wl,--export-all-symbols
+endif
+
+# Hide undesired symbols that are defined by libunistring_la_SOURCES or
+# libunistring_la_LIBADD from the global namespace, by prefixing them with
+# "libunistring_".
+all check install: config.h
+config.h: $(BUILT_SOURCES) libunistring.sym
+ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+ : "Avoid double inclusion, to avoid a warning about redefinitions."; \
+ echo '#ifndef UNISTRING_CONFIG_H'; \
+ echo '#define UNISTRING_CONFIG_H'; \
+ echo; \
+ echo '#include "../config.h"'; \
+ echo; \
+ echo '#endif /* UNISTRING_CONFIG_H */'; \
+ } > config.h && \
+ if test -n "$(NAMESPACING)" && test -n "$(HAVE_GLOBAL_SYMBOL_PIPE)"; then \
+ { \
+ { \
+ for f in $(libunistring_la_SOURCES) $(libunistring_la_LIBADD); do \
+ case $$f in \
+ *.res.lo ) ;; \
+ *.c | *.$(OBJEXT) | *.lo ) \
+ sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \
+ test -f $$sf || sf=$(srcdir)/$$sf; \
+ of=`echo "$$f" | sed -e 's,^.*/,,' -e 's,\\.[^.]*$$,,'`.$(OBJEXT); \
+ echo "$(COMPILE) -c $$sf" 1>&6; \
+ $(COMPILE) -c $$sf || { rm -f config.h; exit 1; }; \
+ sh ./exported.sh $$of 1>&5; \
+ rm -f $$of `echo "$$of" | sed -e 's,\\.$(OBJEXT)$$,.lo,'`; \
+ ;; \
+ esac; \
+ done; \
+ } 5>&1 \
+ | sed -e 's,.* ,,' | LC_ALL=C sort | LC_ALL=C uniq \
+ | { \
+ if test -f libunistring.sym; then \
+ symfile='libunistring.sym'; \
+ else \
+ symfile='$(srcdir)/libunistring.sym'; \
+ fi; \
+ LC_ALL=C join -v 1 - $$symfile; \
+ } \
+ | sed -e 's,^\(.*\)$$,#define \1 libunistring_\1,' > config.h-t; \
+ } 6>&1 && \
+ if test -f config.h; then \
+ cat config.h-t >> config.h; \
+ rm -f config.h-t; \
+ else \
+ rm -f config.h-t; \
+ exit 1; \
+ fi \
+ fi
+MOSTLYCLEANFILES += config.h config.h-t
+
+# Version information according to Woe32 conventions.
+EXTRA_DIST += libunistring.rc
+if WOE32
+WOE32_LIBADD = libunistring.res.lo
+libunistring.res.lo : $(srcdir)/libunistring.rc
+ $(LIBTOOL) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) `$(SHELL) $(top_srcdir)/build-aux/windres-options --escape $(VERSION)` -i $(srcdir)/libunistring.rc -o libunistring.res.lo --output-format=coff
+MOSTLYCLEANFILES += libunistring.res.lo
+else
+WOE32_LIBADD =
+endif
+libunistring_la_LIBADD += $(WOE32_LIBADD)
+libunistring_la_DEPENDENCIES += $(WOE32_LIBADD)
+
+# Parametrization of the 'relocatable-lib-lgpl' module.
+AM_CPPFLAGS += -DDEPENDS_ON_LIBICONV=1
+
+# Libtool's library version information for libunistring.
+# See the libtool documentation, section "Library interface versions".
+LTV_CURRENT=1
+LTV_REVISION=0
+LTV_AGE=1
+
+# How to build libunistring.la.
+libunistring_la_LDFLAGS += \
+ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
+ -rpath $(libdir) \
+ @INTL_MACOSX_LIBS@ -no-undefined