Build fix for tinyxml

The recipe used to download a CMakeLists.txt that's no longer available.
Instead I added the makefile from Gentoo [1], as suggested by PulkoMandy,
which I slightly changed to save the need to patch it.
This commit is contained in:
Humdinger
2016-10-22 08:36:42 +02:00
parent d810120ef0
commit 3e9345f81d
2 changed files with 52 additions and 17 deletions

View File

@@ -0,0 +1,44 @@
AR ?= ar
CXX ?= g++
CXXFLAGS += -Wall
RANLIB ?= ranlib
LIBDIR ?= /usr/lib
name = libtinyxml
major = @MAJOR_V@
minor = @MINOR_V@
version = $(major).$(minor)
src = tinyxml.cpp tinyxmlparser.cpp tinyxmlerror.cpp tinystr.cpp
lo = $(addsuffix .lo,$(basename ${src}))
o = $(addsuffix .o,$(basename ${src}))
lib = so
ifeq ($(shell uname),Darwin)
lib = dylib
endif
all: $(name).a $(name).$(lib)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(name).a: $(o)
$(AR) rc $(name).a $(o)
$(RANLIB) $(name).a
%.lo: %.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -fPIC $< -o $@
$(name).so: $(lo)
$(CXX) $(LDFLAGS) -fPIC -shared $(lo) -Wl,-soname,$(name).so.$(major) -o $(name).so.$(version)
ln -s $(name).so.$(version) $(name).so.$(major)
ln -s $(name).so.$(version) $(name).so
$(name).dylib: $(lo)
$(CXX) $(LDFLAGS) -fPIC -dynamiclib $(lo) -install_name $(LIBDIR)/$(name).$(major).dylib -o $(name).$(version).dylib
ln -s $(name).$(version).dylib $(name).$(major).dylib
ln -s $(name).$(version).dylib $(name).dylib
clean:
-rm -f *.o *.lo *.so* *.a

View File

@@ -8,12 +8,11 @@ document from scratch with C++ objects."
HOMEPAGE="http://www.grinninglizard.com/tinyxml/index.html"
COPYRIGHT="2001-2010 Lee Thomason"
LICENSE="Zlib"
REVISION="2"
SOURCE_URI="http://sourceforge.net/projects/tinyxml/files/tinyxml/$portVersion/tinyxml_2_6_2.tar.gz"
REVISION="3"
SOURCE_URI="http://downloads.sourceforge.net/project/tinyxml/tinyxml/$portVersion/tinyxml_2_6_2.tar.gz"
CHECKSUM_SHA256="15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593"
SOURCE_URI_2="http://libtinyxml.googlecode.com/svn/trunk/CMakeLists.txt#noarchive"
CHECKSUM_SHA256_2="12a412abedaf30fff9c75273c1ac7239a7b4b59dd34bdadedd913a9717a3a105"
SOURCE_DIR="tinyxml"
ADDITIONAL_FILES="Makefile"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
@@ -38,31 +37,23 @@ BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:make
cmd:sed
"
BUILD()
{
cp ../../sources-2/CMakeLists.txt ./
sed -i 's/GLOB_RECURSE/GLOB/' CMakeLists.txt
cmake -DCMAKE_INSTALL_PREFIX:PATH=$prefix
cp -f $portDir/additional-files/Makefile ./
make $jobArgs
}
INSTALL()
{
make install
# move headers to the correct location
mkdir -p $includeDir $libDir
mv $prefix/include/* $includeDir
[ "$prefix/lib" != "$libDir" ] && mv $prefix/lib/*.so $libDir
rmdir $prefix/include/
mkdir -p $developDocDir $includeDir $libDir
mv docs/* $developDocDir
mv tiny*.h $includeDir
mv libtinyxml.so.@MAJOR_V@.@MINOR_V@ $libDir/libtinyxml.so
prepareInstalledDevelLibs libtinyxml