summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbehdad <behdad>2002-08-07 13:42:52 +0000
committerbehdad <behdad>2002-08-07 13:42:52 +0000
commit7dbd5a4871622e86db70d397f7b1c9637ac1d3fd (patch)
treec8886dfeeb280e71c532134bf3f89a5e30139c79
parenta90817b36db6d34dc99d69b6495090f2a89b7095 (diff)
win/* added to CVS.
-rw-r--r--ChangeLog1
-rw-r--r--win/StdAfx.cpp8
-rw-r--r--win/StdAfx.h24
-rw-r--r--win/fribidi.cpp13
-rw-r--r--win/fribidi.dsp343
-rw-r--r--win/fribidi.dsw41
-rw-r--r--win/fribidi_create_char_types.dsp106
-rw-r--r--win/readme.txt35
-rw-r--r--win/resource.h15
-rw-r--r--win/version.rc111
10 files changed, 697 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 68b4b0d..2f0b14a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
* fribidi.h: Removed #include "fribidi_mem.h".
* fribidi_config.h: Added to CVS, to make MSVC builds from CVS
possible.
+ * win/*: Added to CVS.
2002-08-01 Behdad Esfahbod <fribidi@behdad.org>
* *.c, *.h, fribidi_config.h.in, configure.in, acconfig.h: Applied
diff --git a/win/StdAfx.cpp b/win/StdAfx.cpp
new file mode 100644
index 0000000..66375ce
--- /dev/null
+++ b/win/StdAfx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// fribidi.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/win/StdAfx.h b/win/StdAfx.h
new file mode 100644
index 0000000..6e9ffa4
--- /dev/null
+++ b/win/StdAfx.h
@@ -0,0 +1,24 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#if !defined(AFX_STDAFX_H__A42425A6_A0B7_11D6_81A8_00409545058B__INCLUDED_)
+#define AFX_STDAFX_H__A42425A6_A0B7_11D6_81A8_00409545058B__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+
+// Insert your headers here
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+#include <windows.h>
+
+// TODO: reference additional headers your program requires here
+
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__A42425A6_A0B7_11D6_81A8_00409545058B__INCLUDED_)
diff --git a/win/fribidi.cpp b/win/fribidi.cpp
new file mode 100644
index 0000000..243f7ba
--- /dev/null
+++ b/win/fribidi.cpp
@@ -0,0 +1,13 @@
+// fribidi.cpp : Defines the entry point for the DLL application.
+//
+
+#include "stdafx.h"
+
+BOOL APIENTRY DllMain( HANDLE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ return TRUE;
+}
+
diff --git a/win/fribidi.dsp b/win/fribidi.dsp
new file mode 100644
index 0000000..d651493
--- /dev/null
+++ b/win/fribidi.dsp
@@ -0,0 +1,343 @@
+# Microsoft Developer Studio Project File - Name="fribidi" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=fribidi - Win32 Debug Speed Optimized
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "fribidi.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "fribidi.mak" CFG="fribidi - Win32 Debug Speed Optimized"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "fribidi - Win32 Release Memory Optimized" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "fribidi - Win32 Debug Memory Optimized" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "fribidi - Win32 Release Speed Optimized" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "fribidi - Win32 Debug Speed Optimized" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "fribidi - Win32 Release Memory Optimized"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "fribidi___Win32_Release_Memory_Optimized"
+# PROP BASE Intermediate_Dir "fribidi___Win32_Release_Memory_Optimized"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release\mem\"
+# PROP Intermediate_Dir "Release\mem\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "MEM_OPTIMIZED" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "MEM_OPTIMIZED" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Debug Memory Optimized"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "fribidi___Win32_Debug_Memory_Optimized"
+# PROP BASE Intermediate_Dir "fribidi___Win32_Debug_Memory_Optimized"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug\mem\"
+# PROP Intermediate_Dir "Debug\mem\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "MEM_OPTIMIZED" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "MEM_OPTIMIZED" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Release Speed Optimized"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "fribidi___Win32_Release_Speed_Optimized"
+# PROP BASE Intermediate_Dir "fribidi___Win32_Release_Speed_Optimized"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release\speed\"
+# PROP Intermediate_Dir "Release\speed\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "MEM_OPTIMIZED" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Debug Speed Optimized"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "fribidi___Win32_Debug_Speed_Optimized"
+# PROP BASE Intermediate_Dir "fribidi___Win32_Debug_Speed_Optimized"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug\speed\"
+# PROP Intermediate_Dir "Debug\speed\"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "MEM_OPTIMIZED" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FRIBIDI_EXPORTS" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_9_I" /D "HAS_FRIBIDI_TAB_CHAR_TYPE_2_I" /D "FRIBIDI_NO_CHARSETS" /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "fribidi - Win32 Release Memory Optimized"
+# Name "fribidi - Win32 Debug Memory Optimized"
+# Name "fribidi - Win32 Release Speed Optimized"
+# Name "fribidi - Win32 Debug Speed Optimized"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\fribidi.c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=.\fribidi.cpp
+
+!IF "$(CFG)" == "fribidi - Win32 Release Memory Optimized"
+
+# PROP BASE Intermediate_Dir "Release\main"
+# PROP Intermediate_Dir "Release\main"
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Debug Memory Optimized"
+
+# PROP BASE Intermediate_Dir "Debug\main"
+# PROP Intermediate_Dir "Debug\main"
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Release Speed Optimized"
+
+# PROP BASE Intermediate_Dir "Release\main"
+# PROP Intermediate_Dir "Release\main"
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ELSEIF "$(CFG)" == "fribidi - Win32 Debug Speed Optimized"
+
+# PROP BASE Intermediate_Dir "Debug\main"
+# PROP Intermediate_Dir "Debug\main"
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_type.c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_env.c
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_mem.c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_mirroring.c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_types.c
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.cpp
+# SUBTRACT BASE CPP /YX /Yc /Yu
+# SUBTRACT CPP /YX /Yc /Yu
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\fribidi.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cap_rtl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cp1255.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cp1256.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_isiri_3342.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_iso8859_6.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_iso8859_8.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_utf8.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_env.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_mem.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_types.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_unicode.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\StdAfx.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\version.rc
+# End Source File
+# End Group
+# Begin Group "Char Sets"
+
+# PROP Default_Filter "c"
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cap_rtl.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cp1255.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_cp1256.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_isiri_3342.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_iso8859_6.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_iso8859_8.c
+# PROP Exclude_From_Build 1
+# End Source File
+# Begin Source File
+
+SOURCE=..\fribidi_char_sets_utf8.c
+# PROP Exclude_From_Build 1
+# End Source File
+# End Group
+# Begin Source File
+
+SOURCE=.\ReadMe.txt
+# End Source File
+# End Target
+# End Project
diff --git a/win/fribidi.dsw b/win/fribidi.dsw
new file mode 100644
index 0000000..b1d257f
--- /dev/null
+++ b/win/fribidi.dsw
@@ -0,0 +1,41 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "fribidi"=.\fribidi.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "fribidi_create_char_types"=.\fribidi_create_char_types.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/win/fribidi_create_char_types.dsp b/win/fribidi_create_char_types.dsp
new file mode 100644
index 0000000..f349e01
--- /dev/null
+++ b/win/fribidi_create_char_types.dsp
@@ -0,0 +1,106 @@
+# Microsoft Developer Studio Project File - Name="fribidi_create_char_types" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=fribidi_create_char_types - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "fribidi_create_char_types.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "fribidi_create_char_types.mak" CFG="fribidi_create_char_types - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "fribidi_create_char_types - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "fribidi_create_char_types - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "fribidi_create_char_types - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "fribidi_create_char_types___Win32_Release"
+# PROP BASE Intermediate_Dir "fribidi_create_char_types___Win32_Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release\obj"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /Od /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "fribidi_create_char_types - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "fribidi_create_char_types___Win32_Debug"
+# PROP BASE Intermediate_Dir "fribidi_create_char_types___Win32_Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug\obj"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "fribidi_create_char_types - Win32 Release"
+# Name "fribidi_create_char_types - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\fribidi_create_char_types.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\packtab.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/win/readme.txt b/win/readme.txt
new file mode 100644
index 0000000..e996c32
--- /dev/null
+++ b/win/readme.txt
@@ -0,0 +1,35 @@
+
+This directory contains the MSVC project files for building
+fribidi. This file contains some important information regarding using
+these files, so please read it from start to end :-).
+
+The project files are set to build memory-optimized version of fribidi,
+but targets are provided for speed optimized builds as well. If you are
+fussy and want something half-way, you will need to build
+fribidi_create_char_types.exe, use it to generate fribidi_tab_char_type_?.i
+and then set the HAS_FRIBIDI_TAB_CHAR_TYPE_?_I defines accordingly (have
+a look at fribidi_char_type.c).
+
+The project files are set not to build the fribidi character set
+conversion functions, since under win32 you are not likely to want
+them. If you need to include them, you have to uncheck the checkbox
+'Settings -> General -> Exclude file from build' for the 'Char
+Sets' directory and remove FRIBIDI_NO_CHARSETS from 'Settings ->
+C/C++ -> Category: Preprocessor -> Preprocessor definitions' of the
+entire project.
+
+ **************************************************************
+ * IMPORTANT: if MSVC refuses to open the project files *
+ * (sometimes you get a message along the lines "this file *
+ * was not created by MSVC", other times MSVC just silently *
+ * fails), then almost certainly the files you have use *
+ * Unix convention for ending lines with \n, rather than the *
+ * DOS convention of using \r\n. You just need to use some *
+ * tool to fix this (I use the free Programmer's File Editor, *
+ * PFE32.EXE, which makes it easy). Once you do this, MSVC *
+ * should open the files no bother. *
+ **************************************************************
+
+Tomas Frydrych
+<tomas@frydrych.uklinux.net>
+07/08/2002
diff --git a/win/resource.h b/win/resource.h
new file mode 100644
index 0000000..97cc40c
--- /dev/null
+++ b/win/resource.h
@@ -0,0 +1,15 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by version.rc
+//
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 101
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/win/version.rc b/win/version.rc
new file mode 100644
index 0000000..c0a934c
--- /dev/null
+++ b/win/version.rc
@@ -0,0 +1,111 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.K.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
+#pragma code_page(1252)
+#endif //_WIN32
+
+#include "../fribidi_config.h"
+
+#ifndef _MAC
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION FRIBIDI_MAJOR_VERSION,FRIBIDI_MINOR_VERSION,FRIBIDI_MICRO_VERSION,0
+ PRODUCTVERSION FRIBIDI_MAJOR_VERSION,FRIBIDI_MINOR_VERSION,FRIBIDI_MICRO_VERSION,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "080904b0"
+ BEGIN
+ VALUE "Comments", "built from AbiWord CVS fribidi module; http://www.abisource.com/developers/\0"
+ VALUE "CompanyName", "http://fribidi.sourceforge.net\0"
+ VALUE "FileDescription", "fribidi\0"
+ VALUE "FileVersion", FRIBIDI_VERSION
+ VALUE "InternalName", "fribidi\0"
+ VALUE "LegalCopyright", "Copyright © 2002\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "fribidi.dll\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "FriBidi -- OpenSource implementation of Unicode bi-directional algorithm\0"
+ VALUE "ProductVersion", FRIBIDI_VERSION
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x809, 1200
+ END
+END
+
+#endif // !_MAC
+
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+#endif // English (U.K.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+