diff options
author | Jeremy Kerr <jk@ozlabs.org> | 2006-11-29 17:02:13 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-11-29 17:17:24 +1100 |
commit | 2f714ca431d6e592c91d55f2c5619afdb4a3b8a1 (patch) | |
tree | 1fca19d8458d48aeb2283a9aaa6d2c56bf6b7d2e | |
parent | ce360a000076a8cd38f88ee4c4806fcae4fe02dd (diff) | |
download | libtwin-2f714ca431d6e592c91d55f2c5619afdb4a3b8a1.tar.gz |
Compile twin as separate libraries.
This change separates twin into a set of libraries (libtwin,
libtwin-x11, libtwin-fbdev and libtwin-mouse).
Also, generally improve the autoconf magic to make this all work.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | Makefile.am | 82 | ||||
-rw-r--r-- | configure.ac | 44 | ||||
-rw-r--r-- | twin_ttf/Makefile.am | 7 |
3 files changed, 74 insertions, 59 deletions
diff --git a/Makefile.am b/Makefile.am index b6e9150..3f25436 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,21 +1,28 @@ -INCLUDES= @X_CFLAGS@ @WARN_CFLAGS@ +AM_CFLAGS = @WARN_CFLAGS@ +AM_LDFLAGS = -version-info @LIB_VERSION@ SUBDIRS=twin_ttf -#libtwin_la_SOURCES = \ -# twin.h \ -# twin_draw.c \ -# twin_pixmap.c \ -# twin_primitive.c \ -# twin_screen.c \ -# twin_x11.c \ -# twinint.h -# -#lib_LTLIBRARIES = libtwin.la +EXTRA_PROGRAMS = xtwin ftwin -bin_PROGRAMS = xtwin ftwin +bin_PROGRAMS = +lib_LTLIBRARIES = libtwin.la -base_SOURCES = \ +if TWIN_X11 +bin_PROGRAMS += xtwin +lib_LTLIBRARIES += libtwin-x11.la +endif + +if TWIN_FB +bin_PROGRAMS += ftwin +lib_LTLIBRARIES += libtwin-fbdev.la +endif + +if TWIN_MOUSE +lib_LTLIBRARIES += libtwin-mouse.la +endif + +libtwin_la_SOURCES = \ twin.h \ twin_box.c \ twin_button.c \ @@ -46,33 +53,13 @@ base_SOURCES = \ twin_widget.c \ twin_window.c \ twin_work.c \ - twinint.h \ - twin_clock.c \ - twin_clock.h \ - twin_calc.c \ - twin_calc.h \ - twin_text.c \ - twin_text.h + twinint.h -xtwin_SOURCES = $(base_SOURCES) \ - twin_x11.c \ - twin_x11.h \ - twin_demo.c \ - twin_demo.h \ - twin_hello.c \ - twin_hello.h \ - twin_demoline.c \ - twin_demoline.h \ - twin_demospline.c \ - twin_demospline.h \ - xtwin.c +libtwin_mouse_la_LDFLAGS = -version-info=@PACKAGE_VERSION@ +libtwin_mouse_la_SOURCES = twin_linux_mouse.c \ + twin_linux_mouse.h -ftwin_SOURCES = $(base_SOURCES) \ - twin_fbdev.c \ - twin_fbdev.h \ - twin_linux_mouse.c \ - twin_linux_mouse.h \ - twin_demo.c \ +demo_sources = twin_demo.c \ twin_demo.h \ twin_hello.c \ twin_hello.h \ @@ -80,8 +67,21 @@ ftwin_SOURCES = $(base_SOURCES) \ twin_demoline.h \ twin_demospline.c \ twin_demospline.h \ - ftwin.c + twin_clock.c \ + twin_clock.h \ + twin_calc.c \ + twin_calc.h \ + twin_text.c \ + twin_text.h + +libtwin_x11_la_SOURCES = twin_x11.c twin_x11.h +libtwin_x11_la_CPPFLAGS = @X_CFLAGS@ + +xtwin_SOURCES = xtwin.c $(demo_sources) +xtwin_CPPFLAGS = @X_CFLAGS@ +xtwin_LDADD = libtwin.la libtwin-x11.la @X_LIBS@ -lm -xtwin_LDADD = @X_LIBS@ -lm +libtwin_fbdev_la_SOURCES = twin_fbdev.c twin_fbdev.h -ftwin_LDADD = -lm +ftwin_SOURCES = ftwin.c $(demo_sources) +ftwin_LDADD = libtwin.la libtwin-fbdev.la libtwin-mouse.la -lm diff --git a/configure.ac b/configure.ac index e402f42..006c7f2 100644 --- a/configure.ac +++ b/configure.ac @@ -23,11 +23,18 @@ dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT(libtwin, 0.0.0, [keithp@keithp.com], libtwin) +AC_INIT(libtwin, 0.0.1, [keithp@keithp.com], libtwin) AC_CONFIG_AUX_DIR(.) AM_INIT_AUTOMAKE() AM_MAINTAINER_MODE +# Library versioning info +LIB_VERSION_CURRENT=0 +LIB_VERSION_REVISION=1 +LIB_VERSION_AGE=0 +LIB_VERSION="$LIB_VERSION_CURRENT:$LIB_VERSION_REVISION:$LIB_VERSION_AGE" +AC_SUBST(LIB_VERSION) + AM_CONFIG_HEADER(twin_def.h) # Check for progs @@ -44,30 +51,33 @@ fi AC_SUBST(WARN_CFLAGS) # Check for X -PKG_CHECK_MODULES(X, x11, - [x_found_with_pkgconfig=yes], - [x_found_with_pkgconfig=no]) +PKG_CHECK_MODULES(X, x11, twin_x11="yes", twin_x11="no") AC_SUBST(X_CFLAGS) AC_SUBST(X_LIBS) +# Check for linux framebuffer includes +AC_CHECK_HEADER(linux/fb.h, twin_fb="yes", twin_fb="no") -AC_ARG_WITH(freetype-config, [ --with-freetype-config=PROG Use FreeType configuration program PROG], freetype_config=$withval, freetype_config=yes) - -if test "$freetype_config" = "yes"; then - AC_PATH_PROG(ft_config,freetype-config,no) - if test "$ft_config" = "no"; then - AC_MSG_ERROR([You must have freetype installed; see http://www.freetype.org/]) - fi -else - ft_config="$freetype_config" -fi - -FREETYPE_CFLAGS="`$ft_config --cflags`" -FREETYPE_LIBS="`$ft_config --libs`" +# linux mouse +AC_ARG_ENABLE(linux-mouse, + AC_HELP_STRING([--disable-linux-mouse], [Disable linux mouse support]), + twin_mouse="$enableval", twin_mouse="yes") +# Check for freetype +PKG_CHECK_MODULES(FREETYPE, freetype2, twin_ttf="yes", twin_ttf="no") AC_SUBST(FREETYPE_LIBS) AC_SUBST(FREETYPE_CFLAGS) +AM_CONDITIONAL(TWIN_X11, test x$twin_x11 = xyes) +AM_CONDITIONAL(TWIN_FB, test x$twin_fb = xyes) +AM_CONDITIONAL(TWIN_TTF, test x$twin_ttf = xyes) +AM_CONDITIONAL(TWIN_MOUSE, test x$twin_mouse = xyes) + +AC_MSG_NOTICE([x11 support: $twin_x11]) +AC_MSG_NOTICE([fb support: $twin_fb]) +AC_MSG_NOTICE([twin_ttf tool: $twin_ttf]) +AC_MSG_NOTICE([linux mouse: $twin_mouse]) + AC_OUTPUT([Makefile twin.pc twin_ttf/Makefile]) diff --git a/twin_ttf/Makefile.am b/twin_ttf/Makefile.am index c608c02..b9d9379 100644 --- a/twin_ttf/Makefile.am +++ b/twin_ttf/Makefile.am @@ -1,7 +1,12 @@ AM_CFLAGS=-g INCLUDES= @WARN_CFLAGS@ @FREETYPE_CFLAGS@ -bin_PROGRAMS = twin_ttf +EXTRA_PROGRAMS = twin_ttf +bin_PROGRAMS = + +if TWIN_TTF +bin_PROGRAMS += twin_ttf +endif twin_ttf_SOURCES = \ twin_ttf.h \ |