mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 03:30:05 +02:00
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:
44
dev-libs/tinyxml/additional-files/Makefile
Normal file
44
dev-libs/tinyxml/additional-files/Makefile
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user