diff --git a/Borland.zip b/Borland.zip new file mode 100644 index 000000000..1b043ccec Binary files /dev/null and b/Borland.zip differ diff --git a/BorlandC.html b/BorlandC.html new file mode 100644 index 000000000..c866a79c4 --- /dev/null +++ b/BorlandC.html @@ -0,0 +1,68 @@ +Date: Sun, 13 Jan 2002 13:59:56 -0600 +From: David Snopek +To: slouken@devolution.com +Subject: Compiling SDL with Borland C++ + + +Building SDL with Borland C++ + + +

Building SDL with Borland C++

+ by David Snopek + +
+
+ +These instructions cover how to compile SDL and its included test programs using either +Borland C++ Builder 5 or the free Borland compiler.
+ +

Extract the files

+ +

Unzip the Borland.zip archive into this 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. +

+ +

Using Borland C++ Builder 5

+ +

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 "Projects" menu on the menu-bar and go down to +"Build All Projects" option. This will proceed to build SDL, SDLmain, and all +the test programs.

+ +

Using the free Borland compiler

+ +

The free Borland compiler can be downloaded at no charge from the +Borland website . Make sure that it is installed and properly configured.

+ +

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 test +programs, if you wish to build them.

+ +

Output files

+ +No matter which compiler you used, three important files should have been produced: + + + +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). + + +

Test programs

+
+ +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. + + + + + diff --git a/Makefile.am b/Makefile.am index adcc220ba..560dbde19 100644 --- a/Makefile.am +++ b/Makefile.am @@ -34,6 +34,8 @@ EXTRA_DIST = \ README.Win32 \ README.WinCE \ README-SDL.txt \ + BorlandC.html \ + Borland.zip \ VisualC.html \ VisualC.zip \ MPWmake.sea.bin \ diff --git a/README.Win32 b/README.Win32 index 699646ba0..bb77a4b2b 100644 --- a/README.Win32 +++ b/README.Win32 @@ -4,7 +4,9 @@ Using the Simple DirectMedia Layer with Windows 95,NT ============================================================================== 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: diff --git a/include/begin_code.h b/include/begin_code.h index ead1960e6..be548644d 100644 --- a/include/begin_code.h +++ b/include/begin_code.h @@ -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 diff --git a/src/video/SDL_stretch.c b/src/video/SDL_stretch.c index 8e67ce38c..b748360f2 100644 --- a/src/video/SDL_stretch.c +++ b/src/video/SDL_stretch.c @@ -39,8 +39,8 @@ static char rcsid = 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