cd,iup: support hybrid builds

* Untested, as IM fails to build for a non-identified reason.
This commit is contained in:
Adrien Destugues
2013-11-16 21:56:09 +01:00
parent ac009bccc0
commit 6fb6ba0f93
4 changed files with 222 additions and 85 deletions

View File

@@ -5,42 +5,43 @@ SRC_URI="http://heanet.dl.sourceforge.net/project/canvasdraw/5.6.1/Docs%20and%20
CHECKSUM_MD5="0953b2d9a094a14608f73561038ad84d"
REVISION="1"
ARCHITECTURES="x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
cd$secondaryArchSuffix = $portVersion
lib:libcd = $portVersion
lib:libcdgl = $portVersion
lib:libcdlua51 = $portVersion
lib:libcdlua52 = $portVersion
lib:libcdluagl51 = $portVersion
lib:libcdluagl52 = $portVersion
lib:libcdluaim51 = $portVersion
lib:libcdluaim52 = $portVersion
lib:libcdluapdf51 = $portVersion
lib:libcdluapdf52 = $portVersion
lib:libcdpdf = $portVersion
lib:libcd$secondaryArchSuffix = $portVersion
lib:libcdgl$secondaryArchSuffix = $portVersion
lib:libcdlua51$secondaryArchSuffix = $portVersion
lib:libcdlua52$secondaryArchSuffix = $portVersion
lib:libcdluagl51$secondaryArchSuffix = $portVersion
lib:libcdluagl52$secondaryArchSuffix = $portVersion
lib:libcdluaim51$secondaryArchSuffix = $portVersion
lib:libcdluaim52$secondaryArchSuffix = $portVersion
lib:libcdluapdf51$secondaryArchSuffix = $portVersion
lib:libcdluapdf52$secondaryArchSuffix = $portVersion
lib:libcdpdf$secondaryArchSuffix = $portVersion
lib:libftgl = $portVersion
lib:libpdflib = $portVersion
lib:libftgl$secondaryArchSuffix = $portVersion
lib:libpdflib$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku >= $haikuVersion
lib:libGLU
lib:libz
lib:libfreetype
haiku$secondaryArchSuffix >= $haikuVersion
lib:libGLU$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel$secondaryArchSuffix >= $haikuVersion
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:which
devel:libfontconfig
devel:libfreetype
devel:libglu
devel:libiconv
devel:libim
devel:liblua
devel:libz
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libim$secondaryArchSuffix
devel:liblua$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
SOURCE_DIR="cd"
@@ -61,35 +62,32 @@ INSTALL()
rm lib/Haiku11/libz.*
rm lib/Haiku11/libfreetype.*
cp lib/Haiku11/*.so $libDir
cp lib/Haiku11/*.a $developLibDir
cp lib/Haiku11/* $libDir
cp include/* $includeDir
# Won't work, the libs have no soname...
# prepareInstalledDevelLib libim
# libim libim_fftw libim_jp2 libim_process libim_process_omp \
# libimlua51 libimlua_fftw51 libimlua_jp251 libimlua_process51 libimlua_process_omp51 \
# libimlua52 libimlua_fftw52 libimlua_jp252 libimlua_process52 libimlua_process_omp52
prepareInstalledDevelLibs libcd libcdgl libcdlua51 libcdlua52 libcdluagl51 \
libcdluagl52 libcdluaim51 libcdluaim52 libcdluapdf51 libcdluapdf52 \
libcdpdf libftgl libpdflib
packageEntries devel $developDir
}
PROVIDES_devel="
cd${secondaryArchSuffix}_devel = $portVersion
devel:libcd = $portVersion
devel:libcdgl = $portVersion
devel:libcdlua51 = $portVersion
devel:libcdlua52 = $portVersion
devel:libcdluagl51 = $portVersion
devel:libcdluagl52 = $portVersion
devel:libcdluaim51 = $portVersion
devel:libcdluaim52 = $portVersion
devel:libcdluapdf51 = $portVersion
devel:libcdluapdf52 = $portVersion
devel:libcdpdf = $portVersion
devel:libcd$secondaryArchSuffix = $portVersion
devel:libcdgl$secondaryArchSuffix = $portVersion
devel:libcdlua51$secondaryArchSuffix = $portVersion
devel:libcdlua52$secondaryArchSuffix = $portVersion
devel:libcdluagl51$secondaryArchSuffix = $portVersion
devel:libcdluagl52$secondaryArchSuffix = $portVersion
devel:libcdluaim51$secondaryArchSuffix = $portVersion
devel:libcdluaim52$secondaryArchSuffix = $portVersion
devel:libcdluapdf51$secondaryArchSuffix = $portVersion
devel:libcdluapdf52$secondaryArchSuffix = $portVersion
devel:libcdpdf$secondaryArchSuffix = $portVersion
devel:libftgl = $portVersion
devel:libpdflib = $portVersion
devel:libftgl$secondaryArchSuffix = $portVersion
devel:libpdflib$secondaryArchSuffix = $portVersion
"
LICENSE="MIT"

View File

@@ -1,4 +1,4 @@
From 49ce8054eee01b9a146ff7a7ee77303b7834b2a5 Mon Sep 17 00:00:00 2001
From 684d70f2ff902351dfa75f81111dffeb7eb67eb3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 15 Nov 2013 21:59:25 +0100
Subject: Import Haiku port sources.
@@ -688,7 +688,7 @@ index cc89349..fc982e0 100644
}
diff --git a/tecmake.mak b/tecmake.mak
index e5f5efd..6463f3c 100644
index e5f5efd..d52f725 100644
--- a/tecmake.mak
+++ b/tecmake.mak
@@ -6,7 +6,7 @@
@@ -722,7 +722,19 @@ index e5f5efd..6463f3c 100644
ifneq ($(findstring Linux, $(TEC_UNAME)), )
UNIX_LINUX = Yes
ifdef BUILD_64
@@ -852,6 +860,7 @@ endif
@@ -526,6 +534,11 @@ ifneq ($(findstring Linux, $(TEC_UNAME)), )
endif
endif
+ifneq ($(findstring Haiku, $(TEC_UNAME)), )
+ UNIX_POSIX = Yes
+ STDLDFLAGS := -shared -Wl,-soname=lib$(TARGETNAME).so
+endif
+
ifneq ($(findstring IRIX, $(TEC_UNAME)), )
UNIX_POSIX = Yes
ifndef NO_LOCAL_LD
@@ -852,6 +865,7 @@ endif
ifdef USE_IUP
IUP_SUFFIX ?=
ifdef USE_IUP3
@@ -730,7 +742,7 @@ index e5f5efd..6463f3c 100644
ifdef GTK_DEFAULT
ifdef USE_MOTIF
IUP_SUFFIX := mot
@@ -869,6 +878,7 @@ ifdef USE_IUP
@@ -869,6 +883,7 @@ ifdef USE_IUP
endif
endif
endif
@@ -738,7 +750,7 @@ index e5f5efd..6463f3c 100644
else
ifndef NO_OVERRIDE
override USE_MOTIF = Yes
@@ -902,17 +912,21 @@ endif
@@ -902,17 +917,21 @@ endif
ifdef USE_CD
CD_SUFFIX ?=
@@ -771,7 +783,7 @@ index e5f5efd..6463f3c 100644
endif
endif
endif
@@ -993,7 +1007,6 @@ endif
@@ -993,7 +1012,6 @@ endif
ifdef LINK_FREETYPE
FREETYPE = freetype
ifneq ($(findstring cygw, $(TEC_UNAME)), )
@@ -779,7 +791,7 @@ index e5f5efd..6463f3c 100644
FREETYPE = freetype-6
endif
@@ -1138,23 +1151,21 @@ ifdef USE_GTK
@@ -1138,23 +1156,21 @@ ifdef USE_GTK
ifndef USE_GTK3
STDINCS += $(GTK)/lib/x86_64-linux-gnu/gtk-2.0/include
endif
@@ -818,7 +830,7 @@ index e5f5efd..6463f3c 100644
endif
endif
@@ -1180,7 +1191,9 @@ ifdef USE_X11
@@ -1180,7 +1196,9 @@ ifdef USE_X11
STDINCS += $(X11_INC)
endif

View File

@@ -4,35 +4,73 @@ SRC_URI="http://downloads.sourceforge.net/project/iup/3.8/Docs%20and%20Sources/i
CHECKSUM_MD5="b14469c2dd46af3e1bb1ecc8dc216061"
REVISION="1"
ARCHITECTURES="x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
iup = $portVersion
iup$secondaryArchSuffix = $portVersion
lib:libiup$secondaryArchSuffix = $portVersion
lib:libiup_mglplot$secondaryArchSuffix = $portVersion
lib:libiup_pplot$secondaryArchSuffix = $portVersion
lib:libiupcd$secondaryArchSuffix = $portVersion
lib:libiupcontrols$secondaryArchSuffix = $portVersion
lib:libiupgl$secondaryArchSuffix = $portVersion
lib:libiupim$secondaryArchSuffix = $portVersion
lib:libiupimglib$secondaryArchSuffix = $portVersion
lib:libiuplua51$secondaryArchSuffix = $portVersion
lib:libiuplua52$secondaryArchSuffix = $portVersion
lib:libiuplua_mglplot51$secondaryArchSuffix = $portVersion
lib:libiuplua_mglplot52$secondaryArchSuffix = $portVersion
lib:libiuplua_pplot51$secondaryArchSuffix = $portVersion
lib:libiuplua_pplot52$secondaryArchSuffix = $portVersion
lib:libiupluacd51$secondaryArchSuffix = $portVersion
lib:libiupluacd52$secondaryArchSuffix = $portVersion
lib:libiupluacontrols51$secondaryArchSuffix = $portVersion
lib:libiupluacontrols52$secondaryArchSuffix = $portVersion
lib:libiupluagl51$secondaryArchSuffix = $portVersion
lib:libiupluagl52$secondaryArchSuffix = $portVersion
lib:libiupluaim51$secondaryArchSuffix = $portVersion
lib:libiupluaim52$secondaryArchSuffix = $portVersion
lib:libiupluaimglib51$secondaryArchSuffix = $portVersion
lib:libiupluaimglib52$secondaryArchSuffix = $portVersion
lib:libiupluatuio51$secondaryArchSuffix = $portVersion
lib:libiupluatuio52$secondaryArchSuffix = $portVersion
lib:libiuptuio$secondaryArchSuffix = $portVersion
lib:libiupweb$secondaryArchSuffix = $portVersion
"
REQUIRES="
lib:liblua
lib:libcd >= 5.6
lib:libim >= 3.8
haiku$secondaryArchSuffix >= $haikuVersion
lib:liblua$secondaryArchSuffix
lib:libcd$secondaryArchSuffix >= 5.6
lib:libim$secondaryArchSuffix >= 3.8
lib:libfreetype$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel$secondaryArchSuffix >= $haikuVersion
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:which
cmd:yacc
devel:libcd
devel:libfontconfig
devel:libfreetype
devel:libGLU
devel:libim
devel:liblua
devel:libxml2
devel:libz
devel:libcd$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libim$secondaryArchSuffix
devel:liblua$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
SOURCE_DIR="iup"
PATCHES="iup-3.8.patchset"
BUILD()
{
export LUA52=`finddir B_SYSTEM_DIRECTORY`
export LUA_LIB=`finddir B_SYSTEM_DEVELOP_DIRECTORY`/lib
export LUA_BIN=/bin
export LUA_SUFFIX=
export LUA_INC=`finddir B_SYSTEM_HEADERS_DIRECTORY`
make
}
@@ -42,23 +80,51 @@ INSTALL()
mkdir -p $libDir
mkdir -p $includeDir
# These are built as dependencies instead of using the system ones...
rm lib/Haiku11/libz.*
rm lib/Haiku11/libfreetype.*
cp lib/Haiku11/*.so $libDir
cp lib/Haiku11/*.a $developLibDir
cp lib/Haiku11/* $libDir
cp include/* $includeDir
# Won't work, the libs have no soname...
# prepareInstalledDevelLib libim
# libim libim_fftw libim_jp2 libim_process libim_process_omp \
# libimlua51 libimlua_fftw51 libimlua_jp251 libimlua_process51 libimlua_process_omp51 \
# libimlua52 libimlua_fftw52 libimlua_jp252 libimlua_process52 libimlua_process_omp52
prepareInstalledDevelLibs libiup libiup_mglplot libiup_pplot libiupcd \
libiupcontrols libiupgl libiupim libiupimglib libiuplua51 libiuplua52 \
libiuplua_mglplot51 libiuplua_mglplot52 libiuplua_pplot51 \
libiuplua_pplot52 libiupluacd51 libiupluacd52 libiupluacontrols51 \
libiupluacontrols52 libiupluagl51 libiupluagl52 libiupluaim51 \
libiupluaim52 libiupluaimglib51 libiupluaimglib52 libiupluatuio51 \
libiupluatuio52 libiuptuio libiupweb
packageEntries devel $developDir
}
PROVIDES_devel="
devel:libiup$secondaryArchSuffix = $portVersion
devel:libiup_mglplot$secondaryArchSuffix = $portVersion
devel:libiup_pplot$secondaryArchSuffix = $portVersion
devel:libiupcd$secondaryArchSuffix = $portVersion
devel:libiupcontrols$secondaryArchSuffix = $portVersion
devel:libiupgl$secondaryArchSuffix = $portVersion
devel:libiupim$secondaryArchSuffix = $portVersion
devel:libiupimglib$secondaryArchSuffix = $portVersion
devel:libiuplua51$secondaryArchSuffix = $portVersion
devel:libiuplua52$secondaryArchSuffix = $portVersion
devel:libiuplua_mglplot51$secondaryArchSuffix = $portVersion
devel:libiuplua_mglplot52$secondaryArchSuffix = $portVersion
devel:libiuplua_pplot51$secondaryArchSuffix = $portVersion
devel:libiuplua_pplot52$secondaryArchSuffix = $portVersion
devel:libiupluacd51$secondaryArchSuffix = $portVersion
devel:libiupluacd52$secondaryArchSuffix = $portVersion
devel:libiupluacontrols51$secondaryArchSuffix = $portVersion
devel:libiupluacontrols52$secondaryArchSuffix = $portVersion
devel:libiupluagl51$secondaryArchSuffix = $portVersion
devel:libiupluagl52$secondaryArchSuffix = $portVersion
devel:libiupluaim51$secondaryArchSuffix = $portVersion
devel:libiupluaim52$secondaryArchSuffix = $portVersion
devel:libiupluaimglib51$secondaryArchSuffix = $portVersion
devel:libiupluaimglib52$secondaryArchSuffix = $portVersion
devel:libiupluatuio51$secondaryArchSuffix = $portVersion
devel:libiupluatuio52$secondaryArchSuffix = $portVersion
devel:libiuptuio$secondaryArchSuffix = $portVersion
devel:libiupweb$secondaryArchSuffix = $portVersion
"
LICENSE="MIT"
COPYRIGHT="1994-2013 Tecgraf, PUC-Rio."
DESCRIPTION="IUP is a multi-platform toolkit for building graphical user interfaces. It offers APIs in three basic languages: C, Lua and LED.

View File

@@ -1,9 +1,22 @@
From 736ca6335b2068828da740c705994a6ca409d915 Mon Sep 17 00:00:00 2001
From 115eb3270ff3039a7dcbeeb3510aa11c3a0c73d3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Fri, 15 Nov 2013 22:50:38 +0100
Subject: Import Haiku port work.
Date: Sat, 16 Nov 2013 18:59:48 +0100
Subject: Import work done on Haiku port.
diff --git a/Makefile b/Makefile
index dac895c..3cf0b70 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ ifeq ($(OS), Windows_NT)
endif
.PHONY: do_all iup iupgtk iupmot iupcd iupcontrols iupgl iup_pplot iup_mglplot iup_scintilla iupim iupimglib ledc iupview iuplua3 iuplua5 iupconsole iupole iupweb iuptuio
-do_all: iup iupcd iupcontrols iupgl iup_pplot iup_mglplot iup_scintilla iupim iupimglib $(WINLIBS) iupweb iuptuio ledc iupview iuplua5 iupconsole
+do_all: iup iupcd iupcontrols iupgl iup_pplot iup_mglplot iupim iupimglib $(WINLIBS) iupweb iuptuio ledc iupview iuplua5 iupconsole
iup iupgtk iupmot:
@$(MAKE) --no-print-directory -C ./src/ $@
diff --git a/src/Makefile b/src/Makefile
index b4ba247..0e099df 100644
--- a/src/Makefile
@@ -7180,6 +7193,18 @@ index 619ded7..0b12e72 100644
{
data = IupGetAttribute(ih_canvas, "DRAWABLE"); /* new IUP 3 attribute, works for GTK only */
if (!data)
diff --git a/srcconsole/Makefile b/srcconsole/Makefile
index a9102a3..c35adc9 100644
--- a/srcconsole/Makefile
+++ b/srcconsole/Makefile
@@ -8,7 +8,6 @@ endif
do_all: iuplua5
iuplua5:
- @$(TECMAKE_CMD) USE_LUA51=Yes
@$(TECMAKE_CMD) USE_LUA52=Yes
iuplua5gtk:
diff --git a/srcgl/config.mak b/srcgl/config.mak
index d569f43..7de22a6 100644
--- a/srcgl/config.mak
@@ -7841,6 +7866,19 @@ index 575e433..93747ce 100644
motif = 1;
else if (iupStrEqualNoCase(driver, "Win32"))
win32 = 1;
diff --git a/srclua5/Makefile b/srclua5/Makefile
index 9c597fb..486cf17 100644
--- a/srclua5/Makefile
+++ b/srclua5/Makefile
@@ -6,7 +6,7 @@ else
endif
.PHONY: do_all iuplua iupluacd iupluacontrols iupluagl iuplua_pplot iuplua_mglplot iuplua_scintilla iupluaim iupluaimglib iupluatuio iupluaole iupluaweb
-do_all: iuplua iupluacd iupluacontrols iupluagl iuplua_pplot iuplua_mglplot iuplua_scintilla iupluaim iupluaimglib iupluatuio $(WINLIBS)
+do_all: iuplua iupluacd iupluacontrols iupluagl iuplua_pplot iuplua_mglplot iupluaim iupluaimglib iupluatuio $(WINLIBS)
iuplua:
@$(TECMAKE_CMD) USE_LUA51=Yes
diff --git a/srcmglplot/mgl/mgl_ab.h b/srcmglplot/mgl/mgl_ab.h
index 7c47201..35c1b1e 100644
--- a/srcmglplot/mgl/mgl_ab.h
@@ -7877,6 +7915,17 @@ index d81c014..0685ce2 100644
static bool c = true;
TernAxis = t;
if(t)
diff --git a/srcscintilla/Makefile b/srcscintilla/Makefile
index 639ab7d..07f0d5f 100644
--- a/srcscintilla/Makefile
+++ b/srcscintilla/Makefile
@@ -7,5 +7,5 @@ endif
.PHONY: do_all iup_scintilla
do_all: iup_scintilla
-iup_mglplot:
+iup_scintilla:
@$(TECMAKE_CMD)
diff --git a/srcview/config.mak b/srcview/config.mak
index 742f92e..7e71767 100644
--- a/srcview/config.mak
@@ -7919,7 +7968,7 @@ index cc89349..fc982e0 100644
}
diff --git a/tecmake.mak b/tecmake.mak
index e5f5efd..76b1a0a 100644
index e5f5efd..1e09d6c 100644
--- a/tecmake.mak
+++ b/tecmake.mak
@@ -26,6 +26,9 @@ ifndef TEC_UNAME
@@ -7945,7 +7994,19 @@ index e5f5efd..76b1a0a 100644
ifneq ($(findstring Linux, $(TEC_UNAME)), )
UNIX_LINUX = Yes
ifdef BUILD_64
@@ -852,6 +861,7 @@ endif
@@ -526,6 +535,11 @@ ifneq ($(findstring Linux, $(TEC_UNAME)), )
endif
endif
+ifneq ($(findstring Haiku, $(TEC_UNAME)), )
+ UNIX_POSIX = Yes
+ STDLDFLAGS := -shared -Wl,-soname=lib$(TARGETNAME).so
+endif
+
ifneq ($(findstring IRIX, $(TEC_UNAME)), )
UNIX_POSIX = Yes
ifndef NO_LOCAL_LD
@@ -852,6 +866,7 @@ endif
ifdef USE_IUP
IUP_SUFFIX ?=
ifdef USE_IUP3
@@ -7953,7 +8014,7 @@ index e5f5efd..76b1a0a 100644
ifdef GTK_DEFAULT
ifdef USE_MOTIF
IUP_SUFFIX := mot
@@ -869,6 +879,7 @@ ifdef USE_IUP
@@ -869,6 +884,7 @@ ifdef USE_IUP
endif
endif
endif
@@ -7961,7 +8022,7 @@ index e5f5efd..76b1a0a 100644
else
ifndef NO_OVERRIDE
override USE_MOTIF = Yes
@@ -956,6 +967,11 @@ ifdef USE_CD
@@ -956,6 +972,11 @@ ifdef USE_CD
LIBS += cdcairo
LIBS += pangocairo-1.0 cairo
endif
@@ -7973,7 +8034,7 @@ index e5f5efd..76b1a0a 100644
LIBS += cd$(CD_SUFFIX)
LDIR += $(CD_LIB)
@@ -1180,7 +1196,9 @@ ifdef USE_X11
@@ -1180,7 +1201,9 @@ ifdef USE_X11
STDINCS += $(X11_INC)
endif