Lemmih/hsSDL2 — pull request #25 by jdeseno (2014-01-18 22:47:11+00:00)
Title: Fix for undefined symbols for SDL_Blit(Surface|Scaled)

I'm pretty new to Haskell's FFI so apologies if this is incorrect. I'm trying out hsSDL2 with my project on OSX & I'm seeing linker errors for `SDL_BlitScaled` & `SDL_BlitSurface`:

```
$ cabal install
...
Undefined symbols for architecture x86_64:
"_SDL_BlitScaled", referenced from:
_sIwf_info in libHSSDL2-0.1.0.a(Surface.o)
"_SDL_BlitSurface", referenced from:
_sIuo_info in libHSSDL2-0.1.0.a(Surface.o)
ld: symbol(s) not found for architecture x86_64
...
```

A little investigating with my SDL2 install (which was installed via homebrew):

```
$ nm /usr/local//lib/libSDL2.dylib | grep BlitScaled
(standard input):1290:0000000000078f37 T _SDL_LowerBlitScaled
(standard input):1567:0000000000078db4 T _SDL_UpperBlitScaledDeluxor:hsSDL2

/usr/local/include/SDL2/SDL_surface.h:

line 447: #define SDL_BlitSurface SDL_UpperBlit
line 476: #define SDL_BlitScaled SDL_UpperBlitScaled
```
Unless I've misread the FFI docs, CPP macro expansion doesn't take place inside `ccall`.
My changes fix the issue by aliasing these functions to their expanded names.