HaikuPorts
  • Login
  • Preferences
  • Help/Guide
  • Wiki
  • Timeline
  • Roadmap
  • View Tickets
  • Search
  • Port Log
  • Blog

Context Navigation

  • Back to dev-libs/tinyxml/2.6.1

dev-libs/tinyxml/2.6.1: tinyxml-2.6.1.patch

File tinyxml-2.6.1.patch, 4.5 KB (added by michaelvoliveira, 5 years ago)

Patch to build a .so library. Very functional

  • Makefile

    diff -Naur tinyxml/Makefile tinyxml-haiku/Makefile
    old new  
    1 #**************************************************************************** 
    2 # 
    3 # Makefile for TinyXml test. 
    4 # Lee Thomason 
    5 # www.grinninglizard.com 
    6 # 
    7 # This is a GNU make (gmake) makefile 
    8 #**************************************************************************** 
    9  
    10 # DEBUG can be set to YES to include debugging info, or NO otherwise 
    11 DEBUG          := NO 
    12  
    13 # PROFILE can be set to YES to include profiling info, or NO otherwise 
    14 PROFILE        := NO 
    15  
    16 # TINYXML_USE_STL can be used to turn on STL support. NO, then STL 
    17 # will not be used. YES will include the STL files. 
    18 TINYXML_USE_STL := NO 
    19  
    20 #**************************************************************************** 
    21  
    22 CC     := gcc 
    23 CXX    := g++ 
    24 LD     := g++ 
    25 AR     := ar rc 
    26 RANLIB := ranlib 
    27  
    28 DEBUG_CFLAGS     := -Wall -Wno-format -g -DDEBUG 
    29 RELEASE_CFLAGS   := -Wall -Wno-unknown-pragmas -Wno-format -O3 
    30  
    31 LIBS             := 
    32  
    33 DEBUG_CXXFLAGS   := ${DEBUG_CFLAGS}  
    34 RELEASE_CXXFLAGS := ${RELEASE_CFLAGS} 
    35  
    36 DEBUG_LDFLAGS    := -g 
    37 RELEASE_LDFLAGS  := 
    38  
    39 ifeq (YES, ${DEBUG}) 
    40    CFLAGS       := ${DEBUG_CFLAGS} 
    41    CXXFLAGS     := ${DEBUG_CXXFLAGS} 
    42    LDFLAGS      := ${DEBUG_LDFLAGS} 
    43 else 
    44    CFLAGS       := ${RELEASE_CFLAGS} 
    45    CXXFLAGS     := ${RELEASE_CXXFLAGS} 
    46    LDFLAGS      := ${RELEASE_LDFLAGS} 
    47 endif 
    48  
    49 ifeq (YES, ${PROFILE}) 
    50    CFLAGS   := ${CFLAGS} -pg -O3 
    51    CXXFLAGS := ${CXXFLAGS} -pg -O3 
    52    LDFLAGS  := ${LDFLAGS} -pg 
    53 endif 
    54  
    55 #**************************************************************************** 
    56 # Preprocessor directives 
    57 #**************************************************************************** 
    58  
    59 ifeq (YES, ${TINYXML_USE_STL}) 
    60   DEFS := -DTIXML_USE_STL 
    61 else 
    62   DEFS := 
    63 endif 
    64  
    65 #**************************************************************************** 
    66 # Include paths 
    67 #**************************************************************************** 
    68  
    69 #INCS := -I/usr/include/g++-2 -I/usr/local/include 
    70 INCS := 
    71  
    72  
    73 #**************************************************************************** 
    74 # Makefile code common to all platforms 
    75 #**************************************************************************** 
    76  
    77 CFLAGS   := ${CFLAGS}   ${DEFS} 
    78 CXXFLAGS := ${CXXFLAGS} ${DEFS} 
    79  
    80 #**************************************************************************** 
    81 # Targets of the build 
    82 #**************************************************************************** 
    83  
    84 OUTPUT := xmltest 
    85  
    86 all: ${OUTPUT} 
    87  
    88  
    89 #**************************************************************************** 
    90 # Source files 
    91 #**************************************************************************** 
    92  
    93 SRCS := tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp 
    94  
    95 # Add on the sources for libraries 
    96 SRCS := ${SRCS} 
    97  
    98 OBJS := $(addsuffix .o,$(basename ${SRCS})) 
    99  
    100 #**************************************************************************** 
    101 # Output 
    102 #**************************************************************************** 
    103  
    104 ${OUTPUT}: ${OBJS} 
    105         ${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS} 
    106  
    107 #**************************************************************************** 
    108 # common rules 
    109 #**************************************************************************** 
    110  
    111 # Rules for compiling source files to object files 
    112 %.o : %.cpp 
    113         ${CXX} -c ${CXXFLAGS} ${INCS} $< -o $@ 
    114  
    115 %.o : %.c 
    116         ${CC} -c ${CFLAGS} ${INCS} $< -o $@ 
    117  
    118 dist: 
    119         bash makedistlinux 
     1AR ?= ar 
     2CPPFLAGS += -DTIXML_USE_STL 
     3CXX ?= g++ 
     4CXXFLAGS += -Wall 
     5RANLIB ?= ranlib 
     6 
     7name = libtinyxml 
     8major = 2 
     9minor = 6.1 
     10version = $(major).$(minor) 
     11 
     12src = tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp 
     13lo = $(addsuffix .lo,$(basename ${src})) 
     14o = $(addsuffix .o,$(basename ${src})) 
     15 
     16all: $(name).a $(name).so 
     17 
     18%.o: %.cpp 
     19        $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@ 
     20 
     21$(name).a: $(o) 
     22        $(AR) rc $(name).a $(o) 
     23        $(RANLIB) $(name).a 
     24 
     25%.lo: %.cpp 
     26        $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) -fPIC $< -o $@ 
     27 
     28$(name).so: $(lo) 
     29        $(CXX) $(LDFLAGS) -fPIC -shared $(lo) -Wl,-soname,$(name).so.$(major) -o $(name).so.$(version) 
     30        ln -s $(name).so.$(version) $(name).so.$(major) 
     31        ln -s $(name).so.$(version) $(name).so 
    12032 
    12133clean: 
    122         -rm -f core ${OBJS} ${OUTPUT} 
    123  
    124 depend: 
    125         #makedepend ${INCS} ${SRCS} 
    126  
    127 tinyxml.o: tinyxml.h tinystr.h 
    128 tinyxmlparser.o: tinyxml.h tinystr.h 
    129 xmltest.o: tinyxml.h tinystr.h 
    130 tinyxmlerror.o: tinyxml.h tinystr.h 
     34        -rm -f *.o *.lo *.so* *.a 

Download in other formats:

  • Original Format

Trac Powered

Powered by Trac 0.13dev-r10686
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/