diff --git a/configure.in b/configure.in index 48c3bcd0..34929ef0 100644 --- a/configure.in +++ b/configure.in @@ -112,6 +112,7 @@ fi if test "x$enable_sound" = "xyes"; then AC_DEFINE(HAVE_SOUND, 1, [Sound support]) fi +AM_CONDITIONAL(USE_LIBESD, test "x$enable_sound" = "xyes") CPPFLAGS="$X_CFLAGS $CPPFLAGS" LDFLAGS="$X_LIBS $LDFLAGS -L$prefix/lib" @@ -140,6 +141,7 @@ AC_ARG_ENABLE(pango, if test "x$enable_pango" = "xyes"; then PKG_CHECK_MODULES(PANGO, pangoxft, AC_DEFINE(USE_PANGO, 1, [pango-xft support]), enable_pango=no) fi +AM_CONDITIONAL(USE_LIBPANGO, test "x$enable_pango" = "xyes") AC_ARG_ENABLE(xft, [ --enable-xft compile with Xft support @<:@default=yes@:>@],, @@ -147,6 +149,7 @@ AC_ARG_ENABLE(xft, if test "x$enable_xft" = "xyes"; then PKG_CHECK_MODULES(XFT, xft, AC_DEFINE(USE_XFT, 1, [Xft support]), enable_xft=no) fi +AM_CONDITIONAL(USE_LIBXFT, test "x$enable_xft" = "xyes") AC_ARG_ENABLE(ecore, [ --enable-ecore use ecore functions (for testing only - DO NOT USE!) @<:@default=no@:>@],, diff --git a/e16.spec.in b/e16.spec.in index 86bc14f6..f0941cd4 100644 --- a/e16.spec.in +++ b/e16.spec.in @@ -1,7 +1,7 @@ Summary: The Enlightenment window manager, DR16. Name: @PACKAGE@ Version: @E_PKG_VERSION@ -Release: @E_RPM_REVISION@%{?_rpm_add_date:.%(date '+%y%m%d')}%{?_vendorsuffix:.%{_vendorsuffix}} +Release: @E_RPM_REVISION@%{?_rpm_pkg_ext:%{_rpm_pkg_ext}}%{?_rpm_add_date:.%(date '+%y%m%d')}%{?_vendorsuffix:.%{_vendorsuffix}} License: BSD Group: User Interface/Desktops URL: http://www.enlightenment.org/ @@ -39,8 +39,8 @@ This package will install the Enlightenment window manager. %install test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT %{__make} install DESTDIR=$RPM_BUILD_ROOT %{?mflags_install} -rm -f $RPM_BUILD_ROOT/usr/lib/libe16_*.a -rm -f $RPM_BUILD_ROOT/usr/lib/libe16_*.la +rm -f $RPM_BUILD_ROOT/usr/lib/e16/*.a +rm -f $RPM_BUILD_ROOT/usr/lib/e16/*.la mkdir -p $RPM_BUILD_ROOT/etc/X11/xinit/Xclients.d cp $RPM_BUILD_ROOT/usr/share/e16/misc/Xclients.* $RPM_BUILD_ROOT/etc/X11/xinit/Xclients.d/ @@ -51,7 +51,7 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT %defattr(-, root, root) %doc AUTHORS COPYING ChangeLog README docs/README-0.16.8 %{_bindir}/* -%{_libdir}/libe16_*.so +%{_libdir}/e16/*.so %{_datadir}/%{name}/* %{_datadir}/locale/* %{_datadir}/xsessions/* diff --git a/lib/Makefile.am b/lib/Makefile.am index 0be283e2..d53db404 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -2,12 +2,13 @@ MAINTAINERCLEANFILES = Makefile.in if BUILD_ROOTHACKLIB -lib_LTLIBRARIES = libe16_hack.la +libe16dir = $(libdir)/e16 -libe16_hack_la_SOURCES = e16_hack.c +libe16_LTLIBRARIES = libhack.la -libe16_hack_la_LIBADD = $(DLOPEN_LIBS) -#libe16_hack_la_LDFLAGS = -version-info 0:0:0 -libe16_hack_la_LDFLAGS = -avoid-version +libhack_la_SOURCES = e16_hack.c + +libhack_la_LIBADD = $(DLOPEN_LIBS) +libhack_la_LDFLAGS = -avoid-version endif diff --git a/src/Makefile.am b/src/Makefile.am index 96967c1d..247ad86d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -90,13 +90,11 @@ e16_SOURCES = \ slideout.c \ snaps.c snaps.h \ sound.c sound.h \ - sound_esd.c \ stacking.c \ startup.c \ systray.c \ tclass.c tclass.h \ text.c \ - ttfont.c text_xft.c text_pango.c \ theme.c \ timers.c timers.h \ tooltips.c tooltips.h \ @@ -106,6 +104,7 @@ e16_SOURCES = \ windowmatch.c windowmatch.h \ x.c xwin.h \ zoom.c \ + $(MODULE_SRCS) \ $(SRCS_GNOME) \ $(SRCS_GLX) \ $(SRCS_ECOMPMGR) \ @@ -115,11 +114,9 @@ LDADD = \ $(LTLIBINTL) \ $(LTLIBICONV) \ $(ECORE_LIBS) \ - $(ESD_LIBS) \ $(IMLIB2_LIBS) \ + $(MODULE_LIBS) \ $(GLX_LIBS) \ - $(PANGO_LIBS) \ - $(XFT_LIBS) \ $(X_LIBS) \ $(SM_LIBS) \ $(XINERAMA_LIBS) \ @@ -129,12 +126,56 @@ LDADD = \ INCLUDES = -I$(top_builddir) -I$(top_srcdir) \ $(ECORE_CFLAGS) \ - $(ESD_CFLAGS) \ + $(MODULE_CFLAGS) \ $(IMLIB2_CFLAGS) \ - $(PANGO_CFLAGS) \ - $(XFT_CFLAGS) \ $(X_CFLAGS) +if BUILD_MODULES + +e16_LDFLAGS = -export-dynamic + +libe16dir = $(libdir)/e16 + +libe16_LTLIBRARIES = $(LIBSND_ESD) $(LIBFNT_IFT) $(LIBFNT_XFT) $(LIBFNT_PANGO) + +if USE_LIBESD +LIBSND_ESD = libsound_esd.la +libsound_esd_la_SOURCES = sound_esd.c +libsound_esd_la_CFLAGS = $(ESD_CFLAGS) +libsound_esd_la_LIBADD = $(ESD_LIBS) +libsound_esd_la_LDFLAGS = -module -avoid-version +endif + +LIBFNT_IFT = libfont_ift.la +libfont_ift_la_SOURCES = ttfont.c +libfont_ift_la_CFLAGS = $(IMLIB2_CFLAGS) +libfont_ift_la_LIBADD = $(IMLIB2_LIBS) +libfont_ift_la_LDFLAGS = -module -avoid-version + +if USE_LIBXFT +LIBFNT_XFT = libfont_xft.la +libfont_xft_la_SOURCES = text_xft.c +libfont_xft_la_CFLAGS = $(XFT_CFLAGS) +libfont_xft_la_LIBADD = $(XFT_LIBS) +libfont_xft_la_LDFLAGS = -module -avoid-version +endif + +if USE_LIBPANGO +LIBFNT_PANGO = libfont_pango.la +libfont_pango_la_SOURCES = text_pango.c +libfont_pango_la_CFLAGS = $(PANGO_CFLAGS) +libfont_pango_la_LIBADD = $(PANGO_LIBS) libfont_xft.la +libfont_pango_la_LDFLAGS = -module -avoid-version +endif + +else + +MODULE_SRCS = sound_esd.c ttfont.c text_xft.c text_pango.c +MODULE_LIBS = $(ESD_LIBS) $(PANGO_LIBS) $(XFT_LIBS) +MODULE_CFLAGS = $(ESD_CFLAGS) $(PANGO_CFLAGS) $(XFT_CFLAGS) + +endif + install-data-local: $(top_srcdir)/mkinstalldirs $(DESTDIR)$(ENLIGHTENMENT_ROOT)/themes diff --git a/src/actions.c b/src/actions.c index 29a553df..4b3096e7 100644 --- a/src/actions.c +++ b/src/actions.c @@ -41,7 +41,7 @@ ExecSetupEnv(int flags) LangExport(); #if USE_ROOTHACKLIB if (Mode.wm.window) - Esetenv("LD_PRELOAD", ENLIGHTENMENT_LIB "/libe16_hack.so"); + Esetenv("LD_PRELOAD", ENLIGHTENMENT_LIB "/e16/libhack.so"); #endif }