Makefile.wiz
author Ryan C. Gordon <icculus@icculus.org>
Thu, 09 Apr 2015 22:28:37 -0400
changeset 9541 cf8fab52e33b
parent 5586 7fe92c1dc1d9
child 9954 75f31b13bf4b
permissions -rw-r--r--
Merged Alex Szpakowski's iOS-improvement branch to default.

Fixes Bugzilla #2798.
Fixes Bugzilla #2212.
Fixes Bugzilla #2826.
Fixes Bugzilla #2661.
Fixes Bugzilla #1885.
Fixes Bugzilla #1578.
Fixes Bugzilla #2751.

(whew!)

Notable changes, from Alex's notes:

- The SDL_WINDOW_ALLOW_HIGHDPI flag is now needed (along with SDL_GL_GetDrawableSize or SDL_GetRendererOutputSize) to use Retina / high DPI resolutions, bringing SDL’s Retina-related behavior on iOS in line with Mac OS X. Window dimensions and display modes are now in the “points” (non-high DPI) coordinate system rather than pixels, whereas SDL_GL_GetDrawableSize is in pixels.

- Reworked the custom extended launch screen code:
- It now hides after the first SDL_PumpEvents call rather than SDL_CreateWindow, and it fades out in a similar manner to the system launch screen behavior.
- It now mirrors the system launch screen behavior when deciding which image to display: it falls back to using the Launch Images dictionary in Info.plist if the iOS 8+ launch screen nib isn’t available, and if the Launch Images dictionary doesn’t exist it uses the old standard launch image names.
- The extended launch screen can now be disabled via the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h.

- Added support for SDL_HINT_ACCELEROMETER_AS_JOYSTICK.

- Added access to a window view's renderbuffer and framebuffer to syswm.

- Added OpenGL ES debug labels for the Renderbuffer and Framebuffer Objects created with SDL_GL_CreateContext.

- Added support for sRGB OpenGL ES contexts on iOS 7+.

- Updated OpenGL ES contexts to support native-resolution rendering (when SDL_WINDOW_ALLOW_HIGHDPI is enabled) on the iPhone 6 Plus, i.e. 1080x1920 rather than 1242x2208.

- Updated SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext to be more robust.

- Updated SDL windows to display a UIView at all times, even when an OpenGL context is not active. This allows rotation, touch events, and other windowing-related events to work properly without an active OpenGL context. It also makes it easier to use SDL_GetWindowWMInfo after creating a SDL window.

- Updated the iOS-specific Objective-C code to use cleaner and more modern language features and APIs, including ARC instead of manual reference counting.

- Updated SDL_HINT_ORIENTATIONS to allow disabling custom orientations if the hint is set with no valid orientation names.

- Fixed several rotation and orientation bugs with windows and display modes, especially in iOS 8+.

- Fixed SDL_SetWindowFullscreen failing to update the status bar visibility on iOS 7+.

- Fixed the orientation of the offset applied to the window’s view when the onscreen keyboard is shown in iOS 8+.

- Fixed SDL_IsScreenKeyboardShown (patch by Phil Hassey.)

- Fixed several major memory leaks caused by missing autorelease pool blocks in the iOS-specific Objective-C code.

- Removed several dead code paths.

- The iOS 7 SDK (Xcode 5) or newer is now required to build SDL for iOS.
slouken@3438
     1
# Makefile to build the pandora SDL library
slouken@3438
     2
WIZSDK = /mythtv/media/devel/toolchains/openwiz/arm-openwiz-linux-gnu
slouken@3438
     3
slouken@3438
     4
AR	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ar
slouken@3438
     5
RANLIB	= $(WIZSDK)/bin/arm-openwiz-linux-gnu-ranlib
slouken@3438
     6
CC = $(WIZSDK)/bin/arm-openwiz-linux-gnu-gcc
slouken@3438
     7
CXX = $(WIZSDK)/bin/arm-openwiz-linux-gnu-g++
slouken@3438
     8
STRIP = $(WIZSDK)/bin/arm-openwiz-linux-gnu-strip
slouken@3438
     9
slouken@3438
    10
CFLAGS  = -Wall -fPIC -I./include -I$(WIZSDK)/include -DWIZ_GLES_LITE
slouken@3438
    11
slouken@3438
    12
TARGET_STATIC  = libSDL13.a
slouken@3438
    13
TARGET_SHARED  = libSDL13.so
slouken@3438
    14
slouken@3438
    15
SOURCES = ./src/*.c ./src/audio/*.c ./src/cdrom/*.c ./src/cpuinfo/*.c ./src/events/*.c \
slouken@3438
    16
	./src/file/*.c ./src/stdlib/*.c ./src/thread/*.c ./src/timer/*.c ./src/video/*.c \
slouken@3438
    17
	./src/joystick/*.c ./src/haptic/*.c ./src/video/dummy/*.c ./src/audio/disk/*.c \
icculus@5586
    18
	./src/audio/dummy/*.c ./src/loadso/dlopen/*.c ./src/audio/dsp/*.c \
slouken@3438
    19
	./src/thread/pthread/SDL_systhread.c ./src/thread/pthread/SDL_syssem.c \
slouken@3438
    20
	./src/thread/pthread/SDL_sysmutex.c ./src/thread/pthread/SDL_syscond.c \
slouken@3438
    21
	./src/joystick/linux/*.c ./src/haptic/linux/*.c ./src/timer/unix/*.c ./src/cdrom/dummy/*.c \
slouken@3438
    22
	./src/video/pandora/SDL_pandora.o ./src/video/pandora/SDL_pandora_events.o
slouken@3438
    23
	
slouken@3438
    24
slouken@3438
    25
OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')
slouken@3438
    26
slouken@3438
    27
all: config_copy $(TARGET_STATIC) $(TARGET_SHARED)
slouken@3438
    28
slouken@3438
    29
$(TARGET_STATIC): $(OBJECTS)
slouken@3438
    30
	$(AR) crv $@ $^
slouken@3438
    31
	$(RANLIB) $@
slouken@3438
    32
slouken@3438
    33
$(TARGET_SHARED):
slouken@3438
    34
	$(CC) -shared -Wl,-soname,$(TARGET_SHARED).0 -o $(TARGET_SHARED).0.0.1  $(OBJECTS)
slouken@3438
    35
	ln -s $(TARGET_SHARED).0.0.1 $(TARGET_SHARED).0
slouken@3438
    36
	ln -s $(TARGET_SHARED).0 $(TARGET_SHARED)
slouken@3438
    37
slouken@3438
    38
config_copy:
slouken@3438
    39
	cp include/SDL_config_wiz.h include/SDL_config.h
slouken@3438
    40
slouken@3438
    41
clean:
slouken@3438
    42
	rm -f $(TARGET_STATIC) $(TARGET_SHARED)* $(OBJECTS)
slouken@3438
    43
slouken@3438
    44
install:
slouken@3438
    45
	mkdir -p $(WIZSDK)/lib
slouken@3438
    46
	mkdir -p $(WIZSDK)/include/SDL13
slouken@3438
    47
	cp -f $(TARGET_STATIC) $(WIZSDK)/lib
slouken@3438
    48
	cp -f $(TARGET_SHARED).0.0.1 $(WIZSDK)/lib
slouken@3438
    49
	rm -f $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)
slouken@3438
    50
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0.0.1 $(WIZSDK)/lib/$(TARGET_SHARED).0
slouken@3438
    51
	ln -s $(WIZSDK)/lib/$(TARGET_SHARED).0 $(WIZSDK)/lib/$(TARGET_SHARED)
slouken@3438
    52
slouken@3438
    53
	cp $(TARGET_STATIC) ../../toolchain/libs
slouken@3438
    54
	cp $(TARGET_SHARED).0.0.1 ../../toolchain/libs
slouken@3438
    55
	rm -f ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)
slouken@3438
    56
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0.0.1 ../../toolchain/libs/$(TARGET_SHARED).0
slouken@3438
    57
	ln -s ../../toolchain/libs/$(TARGET_SHARED).0 ../../toolchain/libs/$(TARGET_SHARED)
slouken@3438
    58
slouken@3438
    59
	cp $(TARGET_SHARED).0.0.1 ../nehe_demos/build/$(TARGET_SHARED).0
slouken@3438
    60
	cp -f include/*.h $(WIZSDK)/include/SDL13/
slouken@3438
    61
	cp -f include/*.h ../../toolchain/include/SDL13/