mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 03:30:05 +02:00
libsdl2: switch to cmake build
This commit is contained in:
@@ -6,7 +6,7 @@ software, emulators, and popular games."
|
||||
HOMEPAGE="https://www.libsdl.org/"
|
||||
COPYRIGHT="1997-2021 Sam Lantinga"
|
||||
LICENSE="Zlib"
|
||||
REVISION="3"
|
||||
REVISION="4"
|
||||
SOURCE_URI="https://www.libsdl.org/release/SDL2-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="d8215b571a581be1332d2106f8036fcb03d12a70bae01e20f424976d275432bc"
|
||||
SOURCE_DIR="SDL2-$portVersion"
|
||||
@@ -23,7 +23,6 @@ REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libglu$secondaryArchSuffix
|
||||
lib:libltdl$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
@@ -42,29 +41,23 @@ BUILD_REQUIRES="
|
||||
devel:libglu$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autoconf
|
||||
cmd:cmake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:gettext
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:libtool$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
cmd:which
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
autoreconf -fi
|
||||
runConfigure ./configure
|
||||
make $jobArgs
|
||||
cmake . -Bbuild -GNinja $cmakeDirArgs \
|
||||
-DSDL_STATIC=OFF -DRPATH=OFF
|
||||
ninja -C build
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
rm $libDir/libSDL*.la $libDir/libSDL*.a
|
||||
ninja -C build install
|
||||
|
||||
# devel package
|
||||
prepareInstalledDevelLibs \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
From ba669ad41dfb539c1af63bfba0c0819556f9b3ef Mon Sep 17 00:00:00 2001
|
||||
From 2c35afe4f4f4bd6600da70c31c311960fd8599d0 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
||||
Date: Fri, 2 Feb 2018 09:40:46 +0100
|
||||
Subject: Fix secondary arch build.
|
||||
@@ -46,7 +46,7 @@ index b7e519b..8e15ca9 100644
|
||||
2.30.0
|
||||
|
||||
|
||||
From ba24f3489f7a964d0cb103c02b4f28652d83cf6a Mon Sep 17 00:00:00 2001
|
||||
From b14b35e0ad982412ca5472eb971121b1d0a50b9a Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 8 Mar 2021 14:34:02 +1000
|
||||
Subject: Fix relative mode for mouse
|
||||
@@ -120,7 +120,7 @@ index 817fccf..234eaf0 100644
|
||||
2.30.0
|
||||
|
||||
|
||||
From 5afcc48482bb072ec5d66b5966d4280a282fd640 Mon Sep 17 00:00:00 2001
|
||||
From e335241c332d5dc9f44b3772de69729dd12b5b05 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 8 Mar 2021 14:34:40 +1000
|
||||
Subject: Add support for system cursors
|
||||
@@ -242,7 +242,7 @@ index 234eaf0..0948451 100644
|
||||
2.30.0
|
||||
|
||||
|
||||
From 5f40d0e1ef61d32a6d215cab9b7bb4866cbc94da Mon Sep 17 00:00:00 2001
|
||||
From 4e3786b3819d308acb294e7eba390a61c78b77bf Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 8 Mar 2021 14:36:14 +1000
|
||||
Subject: Disable direct mode for BGLView
|
||||
@@ -265,7 +265,7 @@ index 974c152..83bb346 100644
|
||||
2.30.0
|
||||
|
||||
|
||||
From 1ccc6f46feb71a0e82c460fb4830ba3608f935e1 Mon Sep 17 00:00:00 2001
|
||||
From 2119b06c7440500ce336b72ded1aa539f881e3c3 Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Mon, 8 Mar 2021 14:36:48 +1000
|
||||
Subject: Fix build for gcc2
|
||||
@@ -308,3 +308,164 @@ index 0948451..f3c80ac 100644
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
From 130e82eae7a72e353629d232253c744c84350194 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sun, 25 Apr 2021 13:35:32 +0200
|
||||
Subject: Haiku: cmake build
|
||||
|
||||
use CMAKE_INSTALL_ variables where applicable
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b9b9eb6..4941379 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1141,7 +1141,7 @@ elseif(EMSCRIPTEN)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-elseif(UNIX AND NOT APPLE AND NOT ANDROID AND NOT RISCOS)
|
||||
+elseif(UNIX AND NOT APPLE AND NOT ANDROID AND NOT RISCOS AND NOT HAIKU)
|
||||
if(SDL_AUDIO)
|
||||
if(SYSV5 OR SOLARIS OR HPUX)
|
||||
set(SDL_AUDIO_DRIVER_SUNAUDIO 1)
|
||||
@@ -1927,30 +1927,46 @@ elseif(APPLE)
|
||||
CheckPTHREAD()
|
||||
|
||||
elseif(HAIKU)
|
||||
+ if(SDL_AUDIO)
|
||||
+ set(SDL_AUDIO_DRIVER_HAIKU 1)
|
||||
+ file(GLOB HAIKU_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/haiku/*.cc)
|
||||
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAIKU_AUDIO_SOURCES})
|
||||
+ set(HAVE_SDL_AUDIO TRUE)
|
||||
+ endif()
|
||||
+
|
||||
+ if(SDL_JOYSTICK)
|
||||
+ set(SDL_JOYSTICK_HAIKU 1)
|
||||
+ file(GLOB HAIKU_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/haiku/*.cc)
|
||||
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAIKU_JOYSTICK_SOURCES})
|
||||
+ set(HAVE_SDL_JOYSTICK TRUE)
|
||||
+ endif()
|
||||
+
|
||||
file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/haiku/*.cc)
|
||||
set(SOURCE_FILES ${SOURCE_FILES} ${MISC_SOURCES})
|
||||
set(HAVE_SDL_MISC TRUE)
|
||||
|
||||
if(SDL_VIDEO)
|
||||
set(SDL_VIDEO_DRIVER_HAIKU 1)
|
||||
- file(GLOB HAIKUVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/haiku/*.c)
|
||||
+ file(GLOB HAIKUVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/haiku/*.cc)
|
||||
set(SOURCE_FILES ${SOURCE_FILES} ${HAIKUVIDEO_SOURCES})
|
||||
set(HAVE_SDL_VIDEO TRUE)
|
||||
|
||||
if(VIDEO_OPENGL)
|
||||
# TODO: Use FIND_PACKAGE(OpenGL) instead
|
||||
set(SDL_VIDEO_OPENGL 1)
|
||||
- set(SDL_VIDEO_OPENGL_BGL 1)
|
||||
+ set(SDL_VIDEO_OPENGL_HAIKU 1)
|
||||
set(SDL_VIDEO_RENDER_OGL 1)
|
||||
list(APPEND EXTRA_LIBS GL)
|
||||
set(HAVE_VIDEO_OPENGL TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
- set(SDL_FILESYSTEM_HAIKU 1)
|
||||
- file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/haiku/*.cc)
|
||||
- set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
|
||||
- set(HAVE_SDL_FILESYSTEM TRUE)
|
||||
+ if(SDL_FILESYSTEM)
|
||||
+ set(SDL_FILESYSTEM_HAIKU 1)
|
||||
+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/haiku/*.cc)
|
||||
+ set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES})
|
||||
+ set(HAVE_SDL_FILESYSTEM TRUE)
|
||||
+ endif()
|
||||
|
||||
if(SDL_TIMERS)
|
||||
set(SDL_TIMER_HAIKU 1)
|
||||
@@ -1959,13 +1975,24 @@ elseif(HAIKU)
|
||||
set(HAVE_SDL_TIMERS TRUE)
|
||||
endif()
|
||||
|
||||
+ if(SDL_POWER)
|
||||
+ set(SDL_POWER_HAIKU 1)
|
||||
+ file(GLOB HAIKU_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/haiku/*.c)
|
||||
+ set(SOURCE_FILES ${SOURCE_FILES} ${HAIKU_POWER_SOURCES})
|
||||
+ set(HAVE_SDL_POWER TRUE)
|
||||
+ endif()
|
||||
+
|
||||
if(SDL_LOCALE)
|
||||
file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/haiku/*.cc)
|
||||
set(SOURCE_FILES ${SOURCE_FILES} ${LOCALE_SOURCES})
|
||||
set(HAVE_SDL_LOCALE TRUE)
|
||||
endif()
|
||||
|
||||
+ file(GLOB MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/haiku/*.cc)
|
||||
+ set(SOURCE_FILES ${SOURCE_FILES} ${MAIN_SOURCES})
|
||||
+
|
||||
CheckPTHREAD()
|
||||
+ list(APPEND EXTRA_LIBS root be media game device textencoding)
|
||||
|
||||
elseif(RISCOS)
|
||||
file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/riscos/*.c)
|
||||
@@ -2089,7 +2116,7 @@ endif()
|
||||
if(NOT WINDOWS OR CYGWIN)
|
||||
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||
set(exec_prefix "\${prefix}")
|
||||
- set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
|
||||
+ set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}")
|
||||
set(bindir "\${exec_prefix}/bin")
|
||||
set(includedir "\${prefix}/include")
|
||||
if(SDL_STATIC)
|
||||
@@ -2309,15 +2336,15 @@ endif()
|
||||
|
||||
##### Installation targets #####
|
||||
install(TARGETS ${_INSTALL_LIBS} EXPORT SDL2Targets
|
||||
- LIBRARY DESTINATION "lib${LIB_SUFFIX}"
|
||||
- ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
|
||||
- RUNTIME DESTINATION bin)
|
||||
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}"
|
||||
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}"
|
||||
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
|
||||
##### Export files #####
|
||||
if (WINDOWS)
|
||||
set(PKG_PREFIX "cmake")
|
||||
else ()
|
||||
- set(PKG_PREFIX "lib${LIB_SUFFIX}/cmake/SDL2")
|
||||
+ set(PKG_PREFIX "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}/cmake/SDL2")
|
||||
endif ()
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
@@ -2346,7 +2373,7 @@ foreach(_FNAME ${BIN_INCLUDE_FILES})
|
||||
list(REMOVE_ITEM INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/${_INCNAME})
|
||||
endforeach()
|
||||
list(APPEND INCLUDE_FILES ${BIN_INCLUDE_FILES})
|
||||
-install(FILES ${INCLUDE_FILES} DESTINATION include/SDL2)
|
||||
+install(FILES ${INCLUDE_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SDL2)
|
||||
|
||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_BUILD_TYPE)
|
||||
if (UPPER_BUILD_TYPE MATCHES DEBUG)
|
||||
@@ -2364,7 +2391,7 @@ if(NOT (WINDOWS OR CYGWIN))
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
\"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL2${SOPOSTFIX}${SOEXT}\"
|
||||
WORKING_DIRECTORY \"${SDL2_BINARY_DIR}\")")
|
||||
- install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "lib${LIB_SUFFIX}")
|
||||
+ install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}")
|
||||
endif()
|
||||
endif()
|
||||
if(FREEBSD)
|
||||
@@ -2372,9 +2399,9 @@ if(NOT (WINDOWS OR CYGWIN))
|
||||
install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig")
|
||||
else()
|
||||
install(FILES ${SDL2_BINARY_DIR}/sdl2.pc
|
||||
- DESTINATION "lib${LIB_SUFFIX}/pkgconfig")
|
||||
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}/pkgconfig")
|
||||
endif()
|
||||
- install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION bin)
|
||||
+ install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
# TODO: what about the .spec file? Is it only needed for RPM creation?
|
||||
install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/aclocal")
|
||||
endif()
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user