VirtualBox

Changeset 3586 in kBuild


Ignore:
Timestamp:
Jan 26, 2023 2:27:05 PM (2 years ago)
Author:
bird
Message:

Created LIBSDL2 out of LIBSDL.

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/sdks/LIBSDL2.kmk

    r3584 r3586  
    11# $Id$
    22## @file
    3 # kBuild SDK - Simple DirectMedia Layer, targeting $(KBUILD_TARGET).
     3# kBuild SDK - Simple DirectMedia Layer v2.x, targeting $(KBUILD_TARGET).
    44#
    55
    66#
    7 # Copyright (c) 2006-2017 knut st. osmundsen <[email protected]>
     7# Copyright (c) 2006-2023 knut st. osmundsen <[email protected]>
    88#
    99# This file is part of kBuild.
     
    3232#
    3333
    34 SDK_LIBSDL := Simple DirectMedia Layer, targeting $(KBUILD_TARGET).
     34SDK_LIBSDL2 := Simple DirectMedia Layer v2.x, targeting $(KBUILD_TARGET).
    3535
    3636# SDK Specific Properties
    37 _SDK_LIBSDK_IS_FRAMEWORK := no
    38 ifndef PATH_SDK_LIBSDL
    39  PATH_SDK_LIBSDL := $(wildcard $(KBUILD_DEVTOOLS_TRG)/libsdl/v*)
    40  ifeq ($(PATH_SDK_LIBSDL),)
    41   PATH_SDK_LIBSDL := $(wildcard $(KBUILD_DEVTOOLS_BLD)/libsdl/v*)
     37_SDK_LIBSDL2_IS_FRAMEWORK := no
     38ifndef PATH_SDK_LIBSDL2
     39 PATH_SDK_LIBSDL2 := $(firstfile $(rsortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_TRG)/libsdl2/v*)))
     40 ifeq ($(PATH_SDK_LIBSDL2),)
     41  PATH_SDK_LIBSDL2 := $(firstfile $(rsortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_BLD)/libsdl2/v*)))
    4242 endif
    43  ifneq ($(PATH_SDK_LIBSDL),)
    44   PATH_SDK_LIBSDL := $(lastword $(sort $(PATH_SDK_LIBSDL)))
    45  else
    46 
     43 ifeq ($(PATH_SDK_LIBSDL2),)
    4744  # Darwin might have a framework for it.
    4845  ifeq ($(KBUILD_TARGET),darwin)
    49    PATH_SDK_LIBSDL := $(firstword $(wildcard \
    50         /System/Library/Frameworks/SDL.framework/SDL \
    51         /Library/Frameworks/SDL.framework/SDL \
     46   PATH_SDK_LIBSDL2 := $(firstword $(wildcard \
     47        /System/Library/Frameworks/SDL2.framework/SDL2 \
     48        /Library/Frameworks/SDL2.framework/SDL2 \
    5249        ) )
    53    ifneq ($(PATH_SDK_LIBSDL),)
    54     PATH_SDK_LIBSDL := $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL)))
    55     _SDK_LIBSDK_IS_FRAMEWORK := yes
     50   ifneq ($(PATH_SDK_LIBSDL2),)
     51    PATH_SDK_LIBSDL2 := $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL2)))
     52    _SDK_LIBSDL2_IS_FRAMEWORK := yes
    5653   endif
    5754  endif
    5855
    59   ifeq ($(PATH_SDK_LIBSDL),)
    60    PATH_SDK_LIBSDL := $(firstword $(foreach root,$(KBUILD_LIB_SEARCH_ROOTS) \
    61         ,$(if $(wildcard $(addsuffix libSDL.*,$(addprefix $(root),$(KBUILD_LIB_SEARCH_SUBS)))),$(root),) ))
    62    ifeq ($(PATH_SDK_LIBSDL),/)
    63         PATH_SDK_LIBSDL := /.
    64    else ifneq ($(PATH_SDK_LIBSDL),)
    65         PATH_SDK_LIBSDL := $(patsubst %/,%,$(PATH_SDK_LIBSDL))
     56  ifeq ($(PATH_SDK_LIBSDL2),)
     57   PATH_SDK_LIBSDL2 := $(firstword $(foreach root,$(KBUILD_LIB_SEARCH_ROOTS) \
     58        ,$(if $(wildcard $(addsuffix libSDL2.*,$(addprefix $(root),$(KBUILD_LIB_SEARCH_SUBS)))),$(root),) ))
     59   ifeq ($(PATH_SDK_LIBSDL2),/)
     60        PATH_SDK_LIBSDL2 := /.
     61   else ifneq ($(PATH_SDK_LIBSDL2),)
     62        PATH_SDK_LIBSDL2 := $(patsubst %/,%,$(PATH_SDK_LIBSDL2))
    6663   else
    67     $(warning kBuild: PATH_SDK_LIBSDL couldn't be determined!)
    68     PATH_SDK_LIBSDL := $(KBUILD_DEVTOOLS_TRG)/libsdl/not/found
     64    $(warning kBuild: PATH_SDK_LIBSDL2 couldn't be determined!)
     65    PATH_SDK_LIBSDL2 := $(KBUILD_DEVTOOLS_TRG)/libsdl/not/found
    6966   endif
    7067  endif
    7168 endif
    7269else
    73  PATH_SDK_LIBSDL := $(PATH_SDK_LIBSDL)
     70 PATH_SDK_LIBSDL2 := $(PATH_SDK_LIBSDL2)
    7471 ifeq ($(KBUILD_TARGET),darwin)
    7572  # Check if it's the framework or not.
    76   _SDK_LIBSDK_IS_FRAMEWORK := $(if $(wildcard $(PATH_SDK_LIBSDL)/Headers/SDL.h),yes)
     73  _SDK_LIBSDL2_IS_FRAMEWORK := $(if $(wildcard $(PATH_SDK_LIBSDL2)/Headers/SDL.h),yes)
    7774 endif
    7875endif
     
    8279# varies quite a bit, thus this kludge.
    8380#
    84 ifeq ($(KBUILD_TARGET),os2)
    85  LIB_SDK_LIBSDL_SDLMAIN  ?=
    86  DLL_SDK_LIBSDL_SDL      ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.dll
    87  DLL_SDK_LIBSDL_FSLIB    ?= $(PATH_SDK_LIBSDL)/SDL/FSLib.dll
    88  LIB_SDK_LIBSDL_SDL      ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.lib
    89  LIB_SDK_LIBSDL_SDLGFX   ?= $(PATH_SDK_LIBSDL)/SDLGfx/SDLGFX.lib
    90  LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/SDLImage/SDLIMAGE.lib
    91  LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/SDLMixer/SDLMIXER.lib
    92  LIB_SDK_LIBSDL_SDLNET   ?= $(PATH_SDK_LIBSDL)/SDLNet/SDLNET.lib
    93  LIB_SDK_LIBSDL_SDLTTF   ?= $(PATH_SDK_LIBSDL)/SDLTTF/SDLTTF.lib
     81ifeq ($(KBUILD_TARGET),os2) ## @todo
     82 LIB_SDK_LIBSDL2_SDLMAIN  ?=
     83 DLL_SDK_LIBSDL2_SDL      ?= $(PATH_SDK_LIBSDL2)/dll/sdl2.dll
     84 LIB_SDK_LIBSDL2_SDL      ?= $(PATH_SDK_LIBSDL2)/lib/sdl2.lib
     85 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(PATH_SDK_LIBSDL2)/lib/sdl2img.lib
     86 LIB_SDK_LIBSDL2_SDLMIXER ?= $(PATH_SDK_LIBSDL2)/lib/sdl2mix.lib
     87 LIB_SDK_LIBSDL2_SDLTTF   ?= $(PATH_SDK_LIBSDL2)/lib/sdl2ttf.lib
    9488
    9589 # General Properties used by kBuild
    96  SDK_LIBSDL_INCS ?= \
    97         $(PATH_SDK_LIBSDL)/SDL/include \
    98         $(PATH_SDK_LIBSDL)/SDLGfx \
    99         $(PATH_SDK_LIBSDL)/SDLImage \
    100         $(PATH_SDK_LIBSDL)/SDLMixer \
    101         $(PATH_SDK_LIBSDL)/SDLNet \
    102         $(PATH_SDK_LIBSDL)/SDLTTF
    103  SDK_LIBSDL_LIBS ?= \
    104         $(LIB_SDK_LIBSDL_SDL)
    105  SDK_LIBSDL_LIBPATH ?= \
    106         $(PATH_SDK_LIBSDL)/SDL \
    107         $(PATH_SDK_LIBSDL)/SDLGfx \
    108         $(PATH_SDK_LIBSDL)/SDLImage \
    109         $(PATH_SDK_LIBSDL)/SDLMixer \
    110         $(PATH_SDK_LIBSDL)/SDLNet \
    111         $(PATH_SDK_LIBSDL)/SDLTTF
     90 SDK_LIBSDL2_INCS         ?= $(PATH_SDK_LIBSDL2)/h/SDL2
     91 SDK_LIBSDL2_LIBS         ?= $(LIB_SDK_LIBSDL2_SDL)
     92 SDK_LIBSDL2_LIBPATH      ?= $(PATH_SDK_LIBSDL2)/lib
    11293
    11394else ifeq ($(KBUILD_TARGET),win) # ASSUMES VC++ on windows, sorry.
    114  LIB_SDK_LIBSDL_SDLMAIN  ?= $(PATH_SDK_LIBSDL)/lib/SDLmain.lib
    115  LIB_SDK_LIBSDL_SDL      ?= $(PATH_SDK_LIBSDL)/lib/SDL.lib
    116  DLL_SDK_LIBSDL_SDL      ?= $(PATH_SDK_LIBSDL)/lib/SDL.dll
    117  LIB_SDK_LIBSDL_SDLGFX   ?= $(PATH_SDK_LIBSDL)/lib/SDL_gfx.lib
    118  LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/lib/SDL_image.lib
    119  LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/lib/SDL_mixer.lib
    120  LIB_SDK_LIBSDL_SDLNET   ?= $(PATH_SDK_LIBSDL)/lib/SDL_net.lib
    121  LIB_SDK_LIBSDL_SDLTTF   ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.lib
    122  DLL_SDK_LIBSDL_SDLTTF   ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.dll
     95 include $(KBUILD_PATH)/win-common.kmk
     96 LIB_SDK_LIBSDL2_SDLMAIN  ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2main.lib
     97 LIB_SDK_LIBSDL2_SDL      ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2.lib
     98 DLL_SDK_LIBSDL2_SDL      ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2.dll
     99 LIB_SDK_LIBSDL2_SDLTEST  ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2test.lib
     100
     101 LIB_SDK_LIBSDL2_SDLGFX   ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2test.lib
     102 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_image.lib
     103 LIB_SDK_LIBSDL2_SDLMIXER ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_mixer.lib
     104 LIB_SDK_LIBSDL2_SDLNET   ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_net.lib
     105 LIB_SDK_LIBSDL2_SDLTTF   ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_ttf.lib
     106 DLL_SDK_LIBSDL2_SDLTTF   ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_ttf.dll
    123107
    124108 # General Properties used by kBuild
    125  SDK_LIBSDL_INCS ?= \
    126         $(PATH_SDK_LIBSDL)/include/SDL \
    127         $(PATH_SDK_LIBSDL)/include
    128  SDK_LIBSDL_LIBS ?= \
    129         $(LIB_SDK_LIBSDL_SDL)
    130  SDK_LIBSDL_LIBPATH ?= \
    131         $(PATH_SDK_LIBSDL)/lib
     109 SDK_LIBSDL2_INCS         ?= $(PATH_SDK_LIBSDL2)/include
     110 SDK_LIBSDL2_LIBS         ?= $(LIB_SDK_LIBSDL2_SDL)
     111 SDK_LIBSDL2_LIBPATH      ?= $(PATH_SDK_LIBSDL2)/$(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))
    132112
    133 else ifeq ($(KBUILD_TARGET).$(_SDK_LIBSDK_IS_FRAMEWORK),darwin.yes)
     113else ifeq ($(KBUILD_TARGET).$(_SDK_LIBSDL2_IS_FRAMEWORK),darwin.yes)
    134114 # darwin + framework
    135  LIB_SDK_LIBSDL_SDLMAIN  ?= $(NO_SUCH_VARIABLE)
    136  LIB_SDK_LIBSDL_SDL      ?= $(NO_SUCH_VARIABLE)
    137  LIB_SDK_LIBSDL_SDLGFX   ?= $(NO_SUCH_VARIABLE)
    138  LIB_SDK_LIBSDL_SDLIMAGE ?= $(NO_SUCH_VARIABLE)
    139  LIB_SDK_LIBSDL_SDLMIXER ?= $(NO_SUCH_VARIABLE)
    140  LIB_SDK_LIBSDL_SDLNET   ?= $(NO_SUCH_VARIABLE)
    141  LIB_SDK_LIBSDL_SDLTTF   ?= $(NO_SUCH_VARIABLE)
     115 LIB_SDK_LIBSDL2_SDLMAIN  ?= $(NO_SUCH_VARIABLE)
     116 LIB_SDK_LIBSDL2_SDL      ?= $(NO_SUCH_VARIABLE)
     117 LIB_SDK_LIBSDL2_SDLGFX   ?= $(NO_SUCH_VARIABLE)
     118 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(NO_SUCH_VARIABLE)
     119 LIB_SDK_LIBSDL2_SDLMIXER ?= $(NO_SUCH_VARIABLE)
     120 LIB_SDK_LIBSDL2_SDLNET   ?= $(NO_SUCH_VARIABLE)
     121 LIB_SDK_LIBSDL2_SDLTTF   ?= $(NO_SUCH_VARIABLE)
    142122
    143123 # General Properties used by kBuild
    144  SDK_LIBSDL_INCS         ?= $(PATH_SDK_LIBSDL)/Headers
    145  SDK_LIBSDL_LDFLAGS      ?= -framework SDL
     124 SDK_LIBSDL2_INCS         ?= $(PATH_SDK_LIBSDL2)/Headers
     125 SDK_LIBSDL2_LDFLAGS      ?= -framework SDL
    146126
    147127else # ASSUMES Unix like system
    148  LIB_SDK_LIBSDL_SDLMAIN  ?= SDLmain
    149  LIB_SDK_LIBSDL_SDL      ?= SDL
    150  LIB_SDK_LIBSDL_SDLGFX   ?= SDL_gfx
    151  LIB_SDK_LIBSDL_SDLIMAGE ?= SDL_image
    152  LIB_SDK_LIBSDL_SDLMIXER ?= SDL_mixer
    153  LIB_SDK_LIBSDL_SDLNET   ?= SDL_net
    154  LIB_SDK_LIBSDL_SDLTTF   ?= SDL_ttf
     128 LIB_SDK_LIBSDL2_SDLMAIN  ?= SDL2main
     129 LIB_SDK_LIBSDL2_SDL      ?= SDL2
     130 LIB_SDK_LIBSDL2_SDLGFX   ?= SDL2_gfx
     131 LIB_SDK_LIBSDL2_SDLIMAGE ?= SDL2_image
     132 LIB_SDK_LIBSDL2_SDLMIXER ?= SDL2_mixer
     133 LIB_SDK_LIBSDL2_SDLNET   ?= SDL2_net
     134 LIB_SDK_LIBSDL2_SDLTTF   ?= SDL2_ttf
    155135
    156136 # General Properties used by kBuild
    157  ifndef SDK_LIBSDL_INCS
    158   ifneq ($(wildcard $(PATH_SDK_LIBSDL)/include/SDL/),)
    159    SDK_LIBSDL_INCS := $(PATH_SDK_LIBSDL)/include/SDL
     137 ifndef SDK_LIBSDL2_INCS
     138  ifneq ($(wildcard $(PATH_SDK_LIBSDL2)/include/SDL/),)
     139   SDK_LIBSDL2_INCS := $(PATH_SDK_LIBSDL2)/include/SDL2
    160140  else
    161    SDK_LIBSDL_INCS := $(PATH_SDK_LIBSDL)/include
     141   SDK_LIBSDL2_INCS := $(PATH_SDK_LIBSDL2)/include
    162142  endif
    163143 endif
    164  SDK_LIBSDL_LIBS ?= \
    165         $(LIB_SDK_LIBSDL_SDL)
    166  SDK_LIBSDL_LIBPATH ?= \
    167         $(PATH_SDK_LIBSDL)/lib
     144 SDK_LIBSDL2_LIBS    ?= $(LIB_SDK_LIBSDL2_SDL)
     145 SDK_LIBSDL2_LIBPATH ?= $(PATH_SDK_LIBSDL2)/lib
    168146endif
     147
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette