patch-gtk_makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. $OpenBSD: patch-gtk_makefile,v 1.12 2016/03/11 18:13:19 naddy Exp $
  2. Drop `-pedantic'
  3. /usr/local/include/gtk-3.0/gdk/gdktypes.h:318: error: comma at end of enumerator list
  4. --- gtk/makefile.orig Thu Nov 27 21:47:24 2014
  5. +++ gtk/makefile Fri Mar 11 18:05:48 2016
  6. @@ -6,15 +6,8 @@
  7. # Builds for GTK+ 2 and no longer supports GTK+ 1.
  8. # Also works with ming32-make on Windows.
  9. -.SUFFIXES: .cxx .c .o .h .a
  10. -ifdef CLANG
  11. -CXX = clang++ -Wno-deprecated-register
  12. -CC = clang
  13. -# Can choose aspect to sanitize: address and undefined can simply change SANITIZE but for
  14. -# thread also need to create Position Independent Executable -> search online documentation
  15. -SANITIZE = address
  16. -#SANITIZE = undefined
  17. -endif
  18. +.SUFFIXES: .cxx .c .o .h .a .so
  19. +AR = ar
  20. RANLIB = touch
  21. ifdef GTK3
  22. @@ -36,17 +29,20 @@ DEL = del /q
  23. COMPLIB=..\bin\scintilla.a
  24. else
  25. DEL = rm -f
  26. -COMPLIB=../bin/scintilla.a
  27. +COMPLIB=../bin/libscintilla.a
  28. +LEXERLIB=../bin/libscintilla_lexers.a
  29. +SHAREDLIB=../bin/libscintilla.so.${LIBscintilla_VERSION}
  30. +SHAREDLEXER=../bin/libscintilla_lexers.so.${LIBscintilla_lexers_VERSION}
  31. endif
  32. vpath %.h ../src ../include ../lexlib
  33. vpath %.cxx ../src ../lexlib ../lexers
  34. -INCLUDEDIRS=-I ../include -I ../src -I ../lexlib
  35. +INCLUDEDIRS=-I ../include -I ../src -I ../lexlib -I${LOCALBASE}/include
  36. ifdef CHECK_DEPRECATED
  37. DEPRECATED=-DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DDISABLE_GDK_FONT
  38. endif
  39. -CXXBASEFLAGS=-Wall -pedantic -DGTK -DSCI_LEXER $(INCLUDEDIRS) $(DEPRECATED)
  40. +CXXBASEFLAGS=-Wall -DGTK -DSCI_LEXER -Dunix $(INCLUDEDIRS) $(DEPRECATED)
  41. ifdef NOTHREADS
  42. THREADFLAGS=-DG_THREADS_IMPL_NONE
  43. @@ -65,24 +61,35 @@ else
  44. CTFLAGS=-DDEBUG -g $(CXXBASEFLAGS) $(THREADFLAGS)
  45. endif
  46. else
  47. -CTFLAGS=-DNDEBUG -Os $(CXXBASEFLAGS) $(THREADFLAGS)
  48. +CTFLAGS+=-DNDEBUG $(CXXBASEFLAGS) $(THREADFLAGS)
  49. endif
  50. CFLAGS:=$(CTFLAGS)
  51. -CXXTFLAGS:=--std=c++0x $(CTFLAGS) $(REFLAGS)
  52. +CXXTFLAGS:=$(CTFLAGS) $(REFLAGS)
  53. CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION))
  54. MARSHALLER=scintilla-marshal.o
  55. .cxx.o:
  56. $(CXX) $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -c $<
  57. +.cxx.so:
  58. + $(CXX) -fPIC $(CONFIGFLAGS) $(CXXTFLAGS) $(CXXFLAGS) -o $@ -c $<
  59. .c.o:
  60. $(CC) $(CONFIGFLAGS) $(CFLAGS) -w -c $<
  61. +.c.so:
  62. + $(CC) -fPIC $(CONFIGFLAGS) $(CFLAGS) -w -o $@ -c $<
  63. +
  64. LEXOBJS:=$(addsuffix .o,$(basename $(notdir $(wildcard ../lexers/Lex*.cxx))))
  65. -all: $(COMPLIB)
  66. +all: $(COMPLIB) $(SHAREDLIB) $(LEXERLIB) $(SHAREDLEXER)
  67. +install:
  68. + mkdir -p ${PREFIX}/include/scintilla
  69. + install -m 444 ../include/*.h ${PREFIX}/include/scintilla
  70. + install -m 444 ${COMPLIB} ${LEXERLIB} ${PREFIX}/lib
  71. + install -m 444 ${SHAREDLIB} ${SHAREDLEXER} ${PREFIX}/lib
  72. +
  73. clean:
  74. $(DEL) *.o $(COMPLIB) *.plist
  75. @@ -92,15 +99,26 @@ analyze:
  76. deps:
  77. $(CXX) -MM $(CONFIGFLAGS) $(CXXTFLAGS) *.cxx ../src/*.cxx ../lexlib/*.cxx ../lexers/*.cxx | sed -e 's/\/usr.* //' | grep [a-zA-Z] >deps.mak
  78. -$(COMPLIB): Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o StyleContext.o WordList.o \
  79. +LIBOBJS = Accessor.o CharacterSet.o LexerBase.o LexerModule.o LexerSimple.o StyleContext.o WordList.o \
  80. CharClassify.o Decoration.o Document.o PerLine.o Catalogue.o CallTip.o CaseConvert.o CaseFolder.o \
  81. ScintillaBase.o ContractionState.o EditModel.o Editor.o EditView.o ExternalLexer.o MarginView.o \
  82. PropSetSimple.o PlatGTK.o \
  83. KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o CharacterCategory.o ViewStyle.o \
  84. RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
  85. $(MARSHALLER) $(LEXOBJS)
  86. +
  87. +$(COMPLIB): $(LIBOBJS)
  88. $(AR) rc $@ $^
  89. $(RANLIB) $@
  90. +
  91. +$(LEXERLIB): $(LEXOBJS)
  92. + $(AR) rc $@ $^
  93. + $(RANLIB) $@
  94. +
  95. +$(SHAREDLIB): $(addsuffix .so,$(basename $(LIBOBJS)))
  96. + $(CXX) -shared -fPIC -o $@ -Wl,-soname,$(notdir $(SHAREDLIB)) $^
  97. +$(SHAREDLEXER): $(addsuffix .so,$(basename $(LEXOBJS)))
  98. + $(CXX) -shared -fPIC -o $@ -Wl,-soname,$(notdir $(SHAREDLEXER)) $^
  99. # Automatically generate header dependencies with "make deps"
  100. include deps.mak