David Snopek added Borland compiler support
authorSam Lantinga <slouken@libsdl.org>
Wed, 13 Feb 2002 17:45:24 +0000
changeset 274 051b991765ba
parent 273 72acb06d3721
child 275 53fc686e9428
David Snopek added Borland compiler support
Borland.zip
BorlandC.html
Makefile.am
README.Win32
include/begin_code.h
src/video/SDL_stretch.c
Binary file Borland.zip has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/BorlandC.html	Wed Feb 13 17:45:24 2002 +0000
@@ -0,0 +1,68 @@
+Date: Sun, 13 Jan 2002 13:59:56 -0600
+From: David Snopek <xevol@newtonave.net>
+To: slouken@devolution.com
+Subject: Compiling SDL with Borland C++
+
+<html>
+<title>Building SDL with Borland C++ </title>
+<body>
+
+<h1>Building SDL with Borland C++ </h1>
+<b> by <a href=mailto:xevol@users.sourceforge.net> David Snopek </a> </b> 
+
+<br>
+<br>
+
+These instructions cover how to compile SDL and its included test programs using either 
+Borland C++ Builder 5 or the free Borland compiler. <br>
+
+<h3> <b> Extract the files </b> </h3>
+
+<p> Unzip the Borland.zip archive into <b>this</b> directory.  Do not unzip it into any 
+other directory because the makefiles use relative paths to refer to the SDL sources.  This 
+should create a directory named "Borland" inside of the top level SDL source directory. 
+</p>
+
+<h3> <b> Using Borland C++ Builder 5 </b> </h3>
+
+<p> Inside of the "Borland" directory there is a "bcb5" directory that contains a number 
+of Builder project files.  Double-click on the "libSDL.bpg" file icon.  Once Builder has 
+started click on the "<u>P</u>rojects" menu on the menu-bar and go down to 
+"B<u>u</u>ild All Projects" option.  This will proceed to build SDL, SDLmain, and all 
+the <a href="#tests">test programs</a>. </p>
+
+<h3> <b> Using the free Borland compiler </b> </h3>
+
+<p> The free Borland compiler can be downloaded at no charge from <a href="http://www.borland.com/bcppbuilder/freecompiler/"> the 
+Borland website </a>.  Make sure that it is installed and properly configured. </p>
+
+<p> Open an MS-DOS Prompt.  Change to the "Borland\freebcc" directory under the 
+SDL source directory.  Type "make -f SDL.mak" to build SDL and "make -f 
+SDLmain.mak".  There are also makefiles for all of the <a href="#tests">test 
+programs</a>, if you wish to build them. </p>
+
+<h3> <b> Output files </b> </h3>
+
+No matter which compiler you used, three important files should have been produced:
+ 
+<UL>
+	<LI> SDL.dll </LI>
+	<LI> SDL.lib </LI>
+	<LI> SDLmain.lib </LI>
+</UL>
+
+Both of the *.lib files will need to be added to all the projects that use SDL and SDL.dll 
+must be placed some where the Windows dynamic linker can find it (either in your 
+project directory or on the system path, C:\WINDOWS\SYSTEM).
+
+<a name="tests">
+<h3> <b> Test programs </b> </h3>
+</a>
+
+Some of the test programs require included media files.  Before trying to run any of the 
+test programs, copy these media files from the "tests/" directory into the build directory.
+
+</body>
+</html>
+
+
--- a/Makefile.am	Tue Jan 22 21:14:36 2002 +0000
+++ b/Makefile.am	Wed Feb 13 17:45:24 2002 +0000
@@ -34,6 +34,8 @@
 	README.Win32	\
 	README.WinCE	\
 	README-SDL.txt	\
+	BorlandC.html	\
+	Borland.zip	\
         VisualC.html	\
         VisualC.zip	\
         MPWmake.sea.bin	\
--- a/README.Win32	Tue Jan 22 21:14:36 2002 +0000
+++ b/README.Win32	Wed Feb 13 17:45:24 2002 +0000
@@ -4,7 +4,9 @@
 ==============================================================================
 
 These instructions are for people using the GNU free compilers.
-If you want to use Microsoft VC++ with SDL, read "VisualC.html"
+If you want to use Microsoft VC++ with SDL, read "VisualC.html" or 
+if you want to use Borland C++ Builder or the free Borland compiler,
+read "BorlandC.html".
 
 ==============================================================================
 I.  Building the Simple DirectMedia Layer libraries:
--- a/include/begin_code.h	Tue Jan 22 21:14:36 2002 +0000
+++ b/include/begin_code.h	Wed Feb 13 17:45:24 2002 +0000
@@ -41,7 +41,15 @@
 #  endif
 # else
 # ifdef WIN32
-#  define DECLSPEC	__declspec(dllexport)
+#  ifdef __BORLANDC__
+#   ifdef BUILD_SDL
+#    define DECLSPEC __declspec(dllexport)
+#   else
+#    define DECLSPEC __declspec(dllimport)
+#   endif
+#  else
+#   define DECLSPEC	__declspec(dllexport)
+#  endif
 # else
 #  define DECLSPEC
 # endif
@@ -78,7 +86,7 @@
 #define SDL_INLINE_OKAY
 #else
 /* Add any special compiler-specific cases here */
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) || defined(__BORLANDC__)
 #define __inline__	__inline
 #define SDL_INLINE_OKAY
 #else
--- a/src/video/SDL_stretch.c	Tue Jan 22 21:14:36 2002 +0000
+++ b/src/video/SDL_stretch.c	Wed Feb 13 17:45:24 2002 +0000
@@ -39,8 +39,8 @@
    into the general blitting mechanism.
 */
 
-#if (defined(WIN32) && !defined(_M_ALPHA) && !defined(_WIN32_WCE)) || \
-    defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT)
+#if (defined(WIN32) && !defined(__FREEBCC__) && !defined(_M_ALPHA) && !defined(_WIN32_WCE)) || \
+    defined(i386) && defined(__GNUC__) && defined(USE_ASMBLIT) 
 #define USE_ASM_STRETCH
 #endif