summaryrefslogblamecommitdiffstats
path: root/package/xerces/xerces.mk
blob: 1dcc10a1f0b19db8b5995be87832fb57e6a757ab (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                             
                     
                                                
                                                               
                   






























                                                       
 



                              
                           
                                                         




                                                                                       
                                                                   

                                     




                                                       
                                                  
                                                 
                                          












                                             
         


                                                                      
                                                                            










                                                                                                       
 
                                                                                        
 
                                                     
 
                                                       
 
                                        

             
                                                 











                                                             
                              

               
#############################################################
#
# xerces
#
#############################################################
XERCES_VERSION:=3.0.1
XERCES_SOURCE:=xerces-c-$(XERCES_VERSION).tar.gz
XERCES_SITE:=http://archive.apache.org/dist/xerces/c/3/sources/
XERCES_CAT:=$(ZCAT)
XERCES_DIR:=$(BUILD_DIR)/xerces-c-$(XERCES_VERSION)
LIBXERCES_BINARY:=libxerces-c-3.0.so

# XERCES-C will install a number of applications
# in $(STAGING_DIR)/usr/bin
# We may want to copy these to the target

XERCES_APPS:= \
	CreateDOMDocument	\
	DOMCount		\
	DOMPrint		\
	EnumVal			\
	MemParse		\
	PParse			\
	PSVIWriter		\
	Redirect		\
	SAX2Count		\
	SAX2Print		\
	SAXCount		\
	SAXPrint		\
	SCMPrint		\
	SEnumVal		\
	StdInParse

# XERCES-C installs a 4.2MB worth of "*.hpp" files
# in the
#	"dom", "framework", "internal", "parsers",
#	"sax", "sax2", "util", "validators", "xinclude"
# directories

XERCES_INCLUDES:=/usr/include/xercesc

ifneq ($(BR2_ENABLE_LOCALE),y)
XERCES_MAKE_OPT=LIBS="-liconv"
endif

$(DL_DIR)/$(XERCES_SOURCE):
	 $(call DOWNLOAD,$(XERCES_SITE),$(XERCES_SOURCE))

xerces-source: $(DL_DIR)/$(XERCES_SOURCE)

$(XERCES_DIR)/.unpacked: $(DL_DIR)/$(XERCES_SOURCE)
	$(XERCES_CAT) $(DL_DIR)/$(XERCES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
# toolchain/patch-kernel.sh $(XERCES_DIR) package/xerces/ \*.patch*
	touch $(XERCES_DIR)/.unpacked

#	Support for the following should be added later
#		--with-curl=
#		--with-icu=
#		--with-pkgconfigdir=

$(XERCES_DIR)/.configured: $(XERCES_DIR)/.unpacked
	(cd $(XERCES_DIR); rm -rf config.cache; \
		$(TARGET_CONFIGURE_OPTS) \
		./configure		\
		--target=$(GNU_TARGET_NAME) \
		--host=$(GNU_TARGET_NAME) \
		--build=$(GNU_HOST_NAME) \
		--prefix=/usr		\
		--libdir=/usr/lib	\
		--libexecdir=/usr/lib	\
		--sysconfdir=/etc	\
		--localstatedir=/var	\
		--enable-shared		\
		--disable-threads	\
		--disable-network	\
		--with-gnu-ld		\
	)
	touch $@

$(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY): $(XERCES_DIR)/.configured
	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(XERCES_MAKE_OPT) -C $(XERCES_DIR)

$(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY): $(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY)
	$(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) \
		-C $(XERCES_DIR) install
	$(INSTALL) -c $(XERCES_DIR)/src/.libs/libxerces-c.lai	\
		$(STAGING_DIR)/usr/lib/libxerces-c.la
	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libxerces-c.la

$(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY): $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)
	cp -a $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)* $(TARGET_DIR)/usr/lib
	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)

xerces: $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)

xerces-bin: $(XERCES_DIR)/usr/lib/$(LIBXERCES_BINARY)

xerces-tbin: $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)

xerces-unpacked: $(XERCES_DIR)/.unpacked

xerces-clean:
	rm -rf $(STAGING_DIR)/usr/include/xercesc
	rm -f $(STAGING_DIR)/lib/libxerces*
	rm -f $(TARGET_DIR)/usr/lib/libxerces*
	-$(MAKE) -C $(XERCES_DIR) clean

xerces-dirclean:
	rm -rf $(XERCES_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_XERCES),y)
TARGETS+=xerces
endif