[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Library Question



Hello,

this question is somewhat offtopic, because it deals with a deb package for 
maemo, which is a Debian deravative.

The official maemo5 ships with freetype6 2.3.9

Navit hits a bug in 2.3.9 and needs at least 2.3.10. Since freetype6 is a 
central package in maemo, I do not want to replace the shipped freetype6, but 
want to build an additional package from 2.3.11 and install it in parallel to 
freetype as freetype2.3.11_[...]armel.deb and then build navit depending on 
it.

Does that sound reasonable?

If yes, is any documentation available, which demonstrates how to build a 
library which lives in parallel to the original one?

Would it be more feasible to link navit statically against 2.3.11?

Many thanks,
Rainer

PS: For reference I attached debian/rules from navit and the shipped freetype6 
2.3.9

-- 
Rainer Dorsch
Lärchenstr. 6
D-72135 Dettenhausen
07157-734133
email: rdorsch@web.de
jabber: rdorsch@jabber.org
GPG Fingerprint: 5966 C54C 2B3C 42CC 1F4F  8F59 E3A8 C538 7519 141E
Full GPG key: http://pgp.mit.edu/
#!/usr/bin/make -f

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk

DEB_DESTDIR = $(CURDIR)/debian/tmp

#let's help configure to figure out our host/build system
DEB_HOST_ARCH   ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  DEB_CONFIGURE_EXTRA_FLAGS += --build $(DEB_HOST_GNU_TYPE)
else
  DEB_CONFIGURE_EXTRA_FLAGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

DEB_CONFIGURE_EXTRA_FLAGS += --prefix=/opt/navit

# scale all gui icons
DEB_CONFIGURE_EXTRA_FLAGS += --enable-svg2png-scaling="32 48 64" \
                             --enable-svg2png-scaling-flag="16 24 32" \
                             --enable-svg2png-scaling-nav="16 32 48 64"

# Force svg2png conversion using rsvg-convert since it is the most reliable
# ATM
DEB_CONFIGURE_EXTRA_FLAGS += --with-svg2png-use-rsvg-convert

# Enable GUIs we want
DEB_CONFIGURE_EXTRA_FLAGS += --enable-gui-internal \
	     --enable-hildon \
	     --disable-gui-sdl \
	     --enable-gui-qml

# Disable python binding
DEB_CONFIGURE_EXTRA_FLAGS += --disable-binding-python

# Broken switches
# gd (run fails)
DEB_CONFIGURE_EXTRA_FLAGS += --disable-graphics-gd --disable-graphics-sdl

# don't build the samplemap - we don't want to download
# stuff while building...
DEB_CONFIGURE_EXTRA_FLAGS += --disable-samplemap

# Disable garmin
DEB_CONFIGURE_EXTRA_FLAGS += --disable-garmin

# no gpsd and  no gypsy-lib in maemo
DEB_CONFIGURE_EXTRA_FLAGS += --disable-vehicle-gpsd \
             --enable-vehicle-gypsy \
             --enable-vehicle-maemo

# Avoid floating point calculation for armel
ifeq ($(DEB_HOST_ARCH), armel)
  DEB_CONFIGURE_EXTRA_FLAGS += --enable-avoid-float
endif

# Enable maps cache
DEB_CONFIGURE_EXTRA_FLAGS +=  --enable-cache-size=10485760

#let's take care of optimization + debug builds
CFLAGS += -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
else
        CFLAGS += -O2
endif

post-patches::
		AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10  autoreconf --install -I m4

clean::
	# Add here commands to clean up after the build process.
	find $(CURDIR) -name Makefile.in -print0 | xargs -0 rm -f
	find $(CURDIR)/intl -mindepth 1 -name VERSION -o -type f -print0 | xargs -0 rm -f
	find $(CURDIR)/po -mindepth 1 -name '*.po.in' -o -name Makefile.am -o -print0 | xargs -0 rm -rf
	find $(CURDIR) -name .libs -type d -print0 | xargs -0 rm -rf
	find $(CURDIR) -name .deps -type d -print0 | xargs -0 rm -rf
	rm -f ABOUT-NLS INSTALL aclocal.m4 compile config.guess \
	      config.h.in config.rpath config.sub configure depcomp \
	      install-sh missing mkinstalldirs ltmain.sh
	rm -rf autom4te.cache m4



#!/usr/bin/make -f


export DH_COMPAT=4

SHELL = /bin/bash

CFLAGS = -Wall -g

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -O0
else
	CFLAGS += -O2
endif

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

# Use soft-float and thumb mode if it enabled.
ifneq (,$(findstring thumb,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -mthumb
endif

export CFLAGS

configure: configure-stamp
configure-stamp:
	dh_testdir
	tar -xjf freetype-2.3.9.tar.bz2
	patch -p0 < security-CVE-2009-0946.patch
	patch -p0 < armel-asm-declaration.patch
	cd freetype-2.3.9 && ./configure --prefix=/usr --sysconfdir=/etc
	touch configure-stamp


build: configure-stamp build-stamp
build-stamp:
	dh_testdir
	$(MAKE) -C freetype-2.3.9
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp
	rm -rf freetype-2.3.9
	rm -fr objs/.libs
	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs
	$(MAKE) -C freetype-2.3.9 install DESTDIR=$(CURDIR)/debian/tmp
	

binary-indep: build install

binary-arch: build install
	dh_testdir
	dh_testroot
	dh_makeshlibs -V
	dh_installchangelogs
	dh_install --sourcedir=debian/tmp -v
	dh_strip --dbg-package=libfreetype6
	dh_link
	dh_fixperms
	dh_makeshlibs -V
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: