aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in4
-rw-r--r--auto.def14
-rw-r--r--autosetup/cc-shared.tcl2
-rw-r--r--jim-sdl.c4
4 files changed, 17 insertions, 7 deletions
diff --git a/Makefile.in b/Makefile.in
index b22c46b..c8b740e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -165,6 +165,10 @@ mk.so: jim-mk.cpp
$(CXX) $(CXXFLAGS) $(SHOBJ_CFLAGS) -c -o jim-mk.o $> $^
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-mk.o $(SH_LIBJIM) @LDLIBS_mk@
+sdl.so: jim-sdl.c
+ $(CC) $(CFLAGS) $(SHOBJ_CFLAGS) -c -o jim-sdl.o $> $^
+ $(CC) $(CFLAGS) $(LDFLAGS) $(SHOBJ_LDFLAGS) -o $@ jim-sdl.o $(SH_LIBJIM) @LDLIBS_sdl@
+
Tcl.html: jim_tcl.txt
@tclsh@ @srcdir@/make-index $> $^ | asciidoc -o $@ -d manpage - || cp @srcdir@/Tcl_shipped.html Tcl.html
diff --git a/auto.def b/auto.def
index 6f2fb05..2cdb85c 100644
--- a/auto.def
+++ b/auto.def
@@ -204,7 +204,7 @@ set withmod [join [opt-val {with-mod with-jim-extmod}]]
# Tcl extensions
set ext_tcl "stdlib glob tclcompat tree rlprompt oo binary"
# Native extensions
-set ext_c "load package readdir array clock exec file posix regexp signal aio eventloop pack syslog nvp readline mk sqlite sqlite3 win32"
+set ext_c "load package readdir array clock exec file posix regexp signal aio eventloop pack syslog nvp readline mk sqlite sqlite3 win32 sdl"
# C++ extensions
set ext_cxx "mk"
@@ -212,7 +212,7 @@ set ext_cxx "mk"
# Tcl extensions which can be modules
set ext_tcl_mod "glob tree rlprompt oo binary"
# Native extensions which can be modules
-set ext_c_mod "readdir array clock file posix regexp syslog readline pack mk sqlite sqlite3 win32"
+set ext_c_mod "readdir array clock file posix regexp syslog readline pack mk sqlite sqlite3 win32 sdl"
# All extensions
set ext_all [concat $ext_c $ext_tcl]
@@ -259,6 +259,8 @@ set needs(sqlite3) {cc-check-function-in-lib sqlite3_open sqlite3}
set libdep(sqlite3) lib_sqlite3_open
set needs(syslog) {have-feature syslog}
set needs(win32) {have-feature windows}
+set needs(sdl) {expr {[cc-check-function-in-lib SDL_SetVideoMode SDL] && [cc-check-function-in-lib rectangleRGBA SDL_gfx]}}
+set libdep(sdl) {lib_SDL_SetVideoMode lib_rectangleRGBA}
# First handle dependencies. If an extension is enabled, also enable its dependency
foreach i [concat $ext_default $withext] {
@@ -333,7 +335,9 @@ foreach i [lsort $ext_all] {
msg-result "module"
lappend extmod $i
if {[info exists libdep($i)]} {
- define-append LDLIBS_$i [get-define $libdep($i) ""]
+ foreach j $libdep($i) {
+ define-append LDLIBS_$i [get-define $j ""]
+ }
}
continue
}
@@ -356,7 +360,9 @@ foreach i [lsort $ext_all] {
lappend ext $i
if {[info exists libdep($i)]} {
- define-append LDLIBS [get-define $libdep($i) ""]
+ foreach j $libdep($i) {
+ define-append LDLIBS [get-define $j ""]
+ }
}
}
diff --git a/autosetup/cc-shared.tcl b/autosetup/cc-shared.tcl
index b59816c..1e77440 100644
--- a/autosetup/cc-shared.tcl
+++ b/autosetup/cc-shared.tcl
@@ -58,6 +58,6 @@ switch -glob -- [get-define host] {
define SH_CFLAGS -fpic
define SH_LDFLAGS -shared
define SHOBJ_CFLAGS -fpic
- define SHOBJ_LDFLAGS "-shared -nostartfiles"
+ define SHOBJ_LDFLAGS "-shared"
}
}
diff --git a/jim-sdl.c b/jim-sdl.c
index 00d876d..2e700eb 100644
--- a/jim-sdl.c
+++ b/jim-sdl.c
@@ -22,8 +22,8 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
-#include <SDL.h>
-#include <SDL_gfxPrimitives.h>
+#include <SDL/SDL.h>
+#include <SDL/SDL_gfxPrimitives.h>
#include "jim.h"
#include "jimautoconf.h"