autotools: use proper layout for configure.ac, reorganise a bit .am and .pc files

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Vincent Torri 2014-12-06 08:11:17 +01:00 committed by Chris Michael
parent 7e4d2fb36c
commit 433227fa92
4 changed files with 168 additions and 118 deletions

View File

@ -1,40 +1,44 @@
rm -f config.cache
AC_INIT([express], [0.0.1], [devilhorns@comcast.net]) m4_define([v_maj], [0])
m4_define([v_min], [0])
m4_define([v_mic], [1])
m4_define([v_ver], [v_maj.v_min.v_mic])
m4_define([lt_cur], [m4_eval(v_maj + v_min)])
m4_define([lt_rev], [v_mic])
m4_define([lt_age], [v_min])
AC_INIT([express], [v_ver], [devilhorns@comcast.net])
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([express_config.h]) AC_CONFIG_HEADERS([express_config.h])
AC_CANONICAL_HOST AM_INIT_AUTOMAKE([1.6 dist-xz subdir-objects])
AM_INIT_AUTOMAKE([1.6 dist-bzip2])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AM_PROG_CC_C_O
AC_FUNC_ALLOCA
AC_C___ATTRIBUTE__
AC_HEADER_TIME LT_INIT([win32-dll disable-static])
define([AC_LIBTOOL_LANG_CXX_CONFIG], [:]) version_info="lt_cur:lt_rev:lt_age"
define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:]) release_info="v_rel"
define([AC_LIBTOOL_LANG_F77_CONFIG], [:]) AC_SUBST([version_info])
AC_DISABLE_STATIC AC_SUBST([release_info])
AC_PROG_LIBTOOL
EFL_CHECK_COMPILER_FLAGS([EXP], [-O2 -pipe -g -Wall -Wextra -fdata-sections -ffunction-sections]) VMAJ=v_maj
EFL_CHECK_LINKER_FLAGS([EXP], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries]) AC_SUBST([VMAJ])
EFL_ATTRIBUTE_VECTOR
EFL_ATTRIBUTE_ALWAYS_INLINE
EFL_ENABLE_EO_API_SUPPORT
EFL_ENABLE_BETA_API_SUPPORT
EFL_CHECK_PATH_MAX ### Additional options to configure
EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
### Default options with respect to host
AC_CANONICAL_HOST
### Checks for programs
AM_GNU_GETTEXT_VERSION([0.17]) AM_GNU_GETTEXT_VERSION([0.17])
@ -63,20 +67,26 @@ fi
AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"]) AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
EFL_CHECK_THREADS AC_PROG_CC
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
if test "x${PKG_CONFIG}" = "x" ; then if test "x${PKG_CONFIG}" = "x" ; then
AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...]) AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
fi fi
PKG_CHECK_MODULES(LIBEXPRESS, EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
[eina]
[ecore]
[ecore-con]
)
PKG_CHECK_MODULES(EXPRESS,
### Checks for libraries
efl_version="1.7.0"
requirements_libexpress_pc="ecore-con >= ${efl_version} ecore >= ${efl_version} eina >= ${efl_version}"
AC_SUBST([requirements_libexpress_pc])
PKG_CHECK_MODULES([LIBEXPRESS], [${requirements_libexpress_pc}])
PKG_CHECK_MODULES([EXPRESS],
[eina] [eina]
[eet] [eet]
[evas] [evas]
@ -86,6 +96,52 @@ PKG_CHECK_MODULES(EXPRESS,
[elementary] [elementary]
) )
requirements_libexpress_libs=""
AC_SUBST([requirements_libexpress_libs])
### Checks for header files
AC_HEADER_TIME
### Checks for types
### Checks for structures
### Checks for compiler characteristics
AM_PROG_CC_C_O
EFL_ATTRIBUTE_VECTOR
EFL_ATTRIBUTE_ALWAYS_INLINE
EFL_CHECK_PATH_MAX
EFL_CHECK_THREADS
EFL_ENABLE_EO_API_SUPPORT
EFL_ENABLE_BETA_API_SUPPORT
EFL_CHECK_COMPILER_FLAGS([EXP], [-Wall -Wextra -Wshadow -Wpointer-arith -fdata-sections -ffunction-sections])
LIBEXPRESS_CFLAGS="${LIBEXPRESS_CFLAGS} ${EXP_CFLAGS}"
EXPRESS_CFLAGS="${EXPRESS_CFLAGS} ${EXP_CFLAGS}"
### Checks for linker characteristics
EFL_CHECK_LINKER_FLAGS([EXP], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
LIBEXPRESS_LIBS="${LIBEXPRESS_LIBS} ${EXP_LIBS}"
EXPRESS_LIBS="${EXPRESS_LIBS} ${EXP_LIBS}"
### Checks for library functions
AC_FUNC_ALLOCA
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
express.pc express.pc
@ -114,13 +170,14 @@ echo "$PACKAGE $VERSION"
echo "------------------------------------------------------------------------" echo "------------------------------------------------------------------------"
echo echo
echo echo
echo "Configuration...: os=${host_os}" echo "Configuration..............: os=${host_os}"
echo " Threads.......: ${efl_have_threads} (${features_thread})" echo " Threads..................: ${efl_have_threads} (${features_thread})"
echo echo
echo "Compilation................: make (or gmake)" echo "Compilation................: make (or gmake)"
echo " CPPFLAGS.................: $EXP_CPPFLAGS" echo " CPPFLAGS.................: $CPPFLAGS"
echo " CFLAGS...................: $EXP_CFLAGS" echo " CFLAGS...................: $CFLAGS"
echo " LDFLAGS..................: $EXP_LDFLAGS" echo " LIBS.....................: $LIBS"
echo " LDFLAGS..................: $LDFLAGS"
echo echo
echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')" echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix...................: $prefix" echo " prefix...................: $prefix"

View File

@ -2,11 +2,12 @@ prefix=@prefix@
exec_prefix=@exec_prefix@ exec_prefix=@exec_prefix@
libdir=@libdir@ libdir=@libdir@
includedir=@includedir@ includedir=@includedir@
pkgincludedir=@pkgincludedir@-@VMAJ@
Name: libexpress Name: libexpress
Description: EFL IRC communication library Description: EFL IRC communication library
@pkgconfig_requires_private@: @requirements_libexpress@
Version: @VERSION@ Version: @VERSION@
Requires.private: @requirements_libexpress_pc@
Libs: -L${libdir} -lexpress Libs: -L${libdir} -lexpress
Libs.private: Libs.private: @requirements_libexpress_libs@
Cflags: -I${includedir}/express Cflags: -I${pkgincludedir}

View File

@ -1,70 +1,64 @@
AUTOMAKE_OPTIONS = subdir-objects
MAINTAINERCLEANFILES = \ MAINTAINERCLEANFILES = Makefile.in
Makefile.in aclocal.m4 config.guess \
config.h.in config.sub configure install-sh \
ltconfig ltmain.sh missing mkinstalldirs \
stamp-h.in acconfig.h depcomp INSTALL *~
bin_PROGRAMS = \ bin_PROGRAMS = express
express
express_CPPFLAGS = \ express_CPPFLAGS = \
-I$(top_srcdir) \ -I$(top_srcdir) \
-I$(top_srcdir)/src/lib \ -I$(top_srcdir)/src/lib \
-I$(top_srcdir)/src/bin \ -I$(top_srcdir)/src/bin \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \ -DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \ -DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \ -DPACKAGE_DATA_DIR=\"$(pkgdatadir)\" \
-DPACKAGE_LOCALE_DIR=\"$(datadir)/locale\" \ -DPACKAGE_LOCALE_DIR=\"$(datadir)/locale\" \
-DUSE_EXPRESS_CONFIG_H \ @EXPRESS_CFLAGS@
@EXPRESS_CFLAGS@ \
@EXP_CFLAGS@
EXPRESSHEADERS = \ EXPRESSHEADERS = \
private.h \ private.h \
config.h \ config.h \
theme.h \ theme.h \
utils.h \ utils.h \
window.h \ window.h \
channel.h \ channel.h \
lz4/lz4.h \ lz4/lz4.h \
grid.h \ grid.h \
grid_save.h \ grid_save.h \
selector.h \ selector.h \
callbacks.h \ callbacks.h \
options.h \ options.h \
options_general.h \ options_general.h \
options_font.h \ options_font.h \
options_video.h \ options_video.h \
options_networks.h \ options_networks.h \
options_network.h \ options_network.h \
options_servers.h \ options_servers.h \
options_channels.h \ options_channels.h \
options_tools.h options_tools.h
express_SOURCES = \ express_SOURCES = \
$(EXPRESSHEADERS) \ $(EXPRESSHEADERS) \
config.c \ config.c \
main.c \ main.c \
theme.c \ theme.c \
utils.c \ utils.c \
window.c \ window.c \
channel.c \ channel.c \
lz4/lz4.c \ lz4/lz4.c \
grid.c \ grid.c \
grid_save.c \ grid_save.c \
selector.c \ selector.c \
callbacks.c \ callbacks.c \
options.c \ options.c \
options_general.c \ options_general.c \
options_font.c \ options_font.c \
options_video.c \ options_video.c \
options_networks.c \ options_networks.c \
options_network.c \ options_network.c \
options_servers.c \ options_servers.c \
options_channels.c \ options_channels.c \
options_tools.c options_tools.c
express_LDADD = @EXPRESS_LIBS@ @LTLIBINTL@ $(top_srcdir)/src/lib/libexpress.la express_LDADD = \
express_LDFLAGS = -export-dynamic @EXP_LDFLAGS@ $(top_builddir)/src/lib/libexpress.la \
@EXPRESS_LIBS@ \
@LTLIBINTL@

View File

@ -1,25 +1,23 @@
MAINTAINERCLEANFILES = Makefile.in config.h.in
AM_CPPFLAGS = \ MAINTAINERCLEANFILES = Makefile.in
-I$(top_srcdir) \
-I$(top_srcdir)/src/lib \
-I$(top_builddir)/src/lib \
-DPACKAGE_LOCALE_DIR=\"$(datadir)/locale\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DUSE_EXPRESS_CONFIG_H \
@LIBEXPRESS_CFLAGS@ \
@EXP_CFLAGS@
pkgdir = $(libdir) includes_HEADERS = $(pkgincludedir)-@VMAJ@
pkg_LTLIBRARIES = libexpress.la includesdir = Express.h
lib_LTLIBRARIES = libexpress.la
libexpress_la_SOURCES = \ libexpress_la_SOURCES = \
private.h \ private.h \
network.c \ network.c \
main.c main.c
libexpress_la_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_srcdir)/src/lib \
-DPACKAGE_LOCALE_DIR=\"$(datadir)/locale\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
@LIBEXPRESS_CFLAGS@
libexpress_la_LDFLAGS = -version-info 0:1:0 @EXP_LDFLAGS@
libexpress_la_LIBADD = @LIBEXPRESS_LIBS@ libexpress_la_LIBADD = @LIBEXPRESS_LIBS@
installed_mainheaderdir = $(includedir)/express libexpress_la_LDFLAGS = -no-undefined -version-info @version_info@ @release_info@
dist_installed_mainheader_DATA = Express.h