RPA Toolkit
work on windows build
authorMartin Stoilov <martin@rpasearch.com>
Thu, 7 Jul 2011 06:26:33 +0000 (23:26 -0700)
committerMartin Stoilov <martin@rpasearch.com>
Thu, 7 Jul 2011 06:26:33 +0000 (23:26 -0700)
arch/windows/i386/rtypes.h [new file with mode: 0644]
rlib/build/windows/i386/makefile [new file with mode: 0644]

diff --git a/arch/windows/i386/rtypes.h b/arch/windows/i386/rtypes.h
new file mode 100644 (file)
index 0000000..0a548e9
--- /dev/null
@@ -0,0 +1,90 @@
+#ifndef _RTYPES_H_
+#define _RTYPES_H_
+
+/* 
+ * Architecture dependent types. These types have to be redifined 
+ * for every architecture
+ */
+typedef signed char rint8;
+typedef unsigned char ruint8;
+typedef signed short rint16;
+typedef unsigned short ruint16;
+typedef signed int rint32;
+typedef unsigned int ruint32;
+typedef signed long long rint64;
+typedef unsigned long long ruint64;
+typedef unsigned long rsize_t;
+typedef signed long rssize_t;
+typedef unsigned int ratomic_t;
+typedef unsigned long rword;
+typedef long rsword;
+
+
+/*
+ * Common types. These types should be the same for most of the architectures.
+ */
+typedef long rlong;
+typedef int rinteger;
+typedef short rshort;
+typedef char rchar;
+typedef unsigned long rulong;
+typedef unsigned int ruinteger;
+typedef unsigned short rushort;
+typedef unsigned char ruchar;
+typedef ruchar rbyte;
+typedef double rdouble;
+typedef float rfloat;
+typedef rinteger rboolean;
+typedef void *rpointer;
+typedef const void *rconstpointer;
+typedef struct {ruint32 p1; ruint32 p2;} rpair_t;
+
+/*
+ * Atomic operations (Architecture Dependent)
+ */
+#define R_ATOMIC_CMPXCHG(ptr, oldval, newval, resptr) \
+               do { } while (0)
+
+#define R_ATOMIC_XCHG(ptr, val) \
+               do { } while (0)
+
+#define R_ATOMIC_ADD(ptr, val) \
+               do { } while (0)
+
+#define R_ATOMIC_SUB(ptr, val) \
+               do { } while (0)
+
+
+#define R_DEBUG_BRAKE __asm__ ("int $3")
+#define R_ASSERT(__a__) do {if (!(__a__)) R_DEBUG_BRAKE; } while (0)
+#define R_SIZE_ALIGN(s, n) ((((s) + (n) - 1) / (n)) * (n))
+#define R_MIN(a, b) ((a) < (b) ? (a): (b))
+#define R_MAX(a, b) ((a) > (b) ? (a): (b))
+
+#ifndef NULL
+#ifdef __cplusplus
+#define NULL 0
+#else
+#define NULL ((rpointer)0)
+#endif
+#endif
+
+#ifndef TRUE
+#define TRUE ((rboolean)1)
+#endif
+
+#ifndef FALSE
+#define FALSE ((rboolean)0)
+#endif
+
+
+typedef enum {
+       RVALSET_NONE = 0,
+       RVALSET_OR,
+       RVALSET_XOR,
+       RVALSET_AND,
+} rvalset_t;
+
+
+#endif
+
diff --git a/rlib/build/windows/i386/makefile b/rlib/build/windows/i386/makefile
new file mode 100644 (file)
index 0000000..5109b99
--- /dev/null
@@ -0,0 +1,163 @@
+
+!IF "$(CFG)" == ""
+CFG=debug
+!ENDIF 
+
+!IF "$(CFG)" != "release" && "$(CFG)" != "debug"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!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 makefile CFG=debug
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "release" ( Win32 x86 release build )
+!MESSAGE "debug"   ( Win32 x86 debug build)
+!MESSAGE 
+!ERROR An invalid configuration is specified.
+!ENDIF 
+
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+!ELSE 
+NULL=nul
+!ENDIF
+
+
+TARGET=rlib.lib
+PORT=windows
+SRC_DIR=..\..\..
+RPATK_DIR=..\..\..\..
+INCLUDE_DIRS=/I"$(RPATK_DIR)" /I"$(RPATK_DIR)\arch\$(PORT)\i386"
+
+
+!IF "$(CFG)" == "release"
+
+OUTDIR=.\out
+CPP_FLAGS=/nologo $(INCLUDE_DIRS) /Zp1 /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /Fo"$(OUTDIR)\\" /FD /c 
+
+!ELSEIF  "$(CFG)" == "debug"
+
+OUTDIR=.\out
+CPP_FLAGS=/nologo $(INCLUDE_DIRS) /Zp1 /MLd  /Zi /W3  /GX  /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /Fo"$(OUTDIR)\\" /FD  /c
+
+!ENDIF
+
+CPP_FLAGS=$(CPP_FLAGS) $(MCS_CFLAGS)
+
+!IF "$(DBG_CONSOLE)" == "shut"
+CPP_FLAGS=$(CPP_FLAGS) /D "_SHUT_CONSOLE"
+!ENDIF
+
+
+CPP=cl.exe
+LINK32=lib.exe
+LINK32_FLAGS=/nologo /machine:I386 /out:"$(OUTDIR)\$(TARGET)"
+# LINK32=link.exe
+# LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ws2_32.lib /nologo /subsystem:console /incremental:no /machine:I386 /out:"$(OUTDIR)\$(TARGET)" 
+LINK32_OBJS= \
+       "$(OUTDIR)\rref.obj" \
+       "$(OUTDIR)\rcharconv.obj" \
+       "$(OUTDIR)\robject.obj" \
+       "$(OUTDIR)\rgc.obj" \
+       "$(OUTDIR)\rmem.obj" \
+       "$(OUTDIR)\rmath.obj" \
+       "$(OUTDIR)\ratomic.obj" \
+       "$(OUTDIR)\rspinlock.obj" \
+       "$(OUTDIR)\rharray.obj" \
+       "$(OUTDIR)\rcarray.obj" \
+       "$(OUTDIR)\rarray.obj" \
+       "$(OUTDIR)\rhash.obj" \
+       "$(OUTDIR)\rmap.obj" \
+       "$(OUTDIR)\rstring.obj" \
+       "$(OUTDIR)\rlist.obj" \
+       "$(OUTDIR)\rutf.obj" \
+
+
+ALL : "$(OUTDIR)\$(TARGET)"
+
+CLEAN :
+       -@erase "$(OUTDIR)\$(TARGET)"
+       -@erase $(LINK32_OBJS)
+       -@erase *.pdb *.idb *.pch
+       -@rd /S /Q "$(OUTDIR)"
+
+"$(OUTDIR)" :
+       if not exist "$(OUTDIR)\$(NULL)" mkdir "$(OUTDIR)"
+
+
+"$(OUTDIR)\$(TARGET)" : "$(OUTDIR)" $(LINK32_OBJS)
+       $(LINK32) @<<
+       $(LINK32_FLAGS) $(LINK32_OBJS)
+<<
+
+SOURCE="$(SRC_DIR)\rref.c"
+"$(OUTDIR)\rref.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rcharconv.c"
+"$(OUTDIR)\rcharconv.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\robject.c"
+"$(OUTDIR)\robject.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rgc.c"
+"$(OUTDIR)\rgc.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rmem.c"
+"$(OUTDIR)\rmem.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rmath.c"
+"$(OUTDIR)\rmath.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\ratomic.c"
+"$(OUTDIR)\ratomic.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rspinlock.c"
+"$(OUTDIR)\rspinlock.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rharray.c"
+"$(OUTDIR)\rharray.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rcarray.c"
+"$(OUTDIR)\rcarray.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rarray.c"
+"$(OUTDIR)\rarray.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+
+SOURCE="$(SRC_DIR)\rhash.c"
+"$(OUTDIR)\rhash.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+
+SOURCE="$(SRC_DIR)\rmap.c"
+"$(OUTDIR)\rmap.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+
+SOURCE="$(SRC_DIR)\rstring.c"
+"$(OUTDIR)\rstring.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+
+SOURCE="$(SRC_DIR)\rlist.c"
+"$(OUTDIR)\rlist.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+
+SOURCE="$(SRC_DIR)\rutf.c"
+"$(OUTDIR)\rutf.obj" : $(SOURCE) "$(OUTDIR)"
+       $(CPP) $(CPP_FLAGS) $(SOURCE)
+