[UNICODE]
authorColin Finck <colin@reactos.org>
Wed, 15 Jun 2011 18:20:05 +0000 (18:20 +0000)
committerColin Finck <colin@reactos.org>
Wed, 15 Jun 2011 18:20:05 +0000 (18:20 +0000)
- Finally say goodbye to my "wcsfuncs" experiment started in 2008.
  We have (and always had) Wine's "unicode" library for this, which does the same and is more complete.
  Now that host tools only use include/host, we only need to include <wine/unicode.h> and it will choose the right file in either include/host or include/reactos.
- Fix some include guards in PSDK headers to match the MS ones.
- Always define WINE_UNICODE_API to an empty string instead of doing this separately for every module.
- Cleanup some empty directories or non-existing include pathes.

svn path=/trunk/; revision=52248

24 files changed:
reactos/include/host/wine/unicode.h
reactos/include/psdk/windows.h
reactos/include/psdk/winnetwk.h
reactos/include/psdk/winnls.h
reactos/include/psdk/winreg.h
reactos/include/psdk/winsvc.h
reactos/include/psdk/winver.h
reactos/include/reactos/wcsfuncs.h [deleted file]
reactos/include/reactos/wine/unicode.h
reactos/lib/cmlib/CMakeLists.txt
reactos/lib/cmlib/cmlib.h
reactos/lib/cmlib/cmlib.rbuild
reactos/lib/inflib/inflib.rbuild
reactos/lib/newinflib/CMakeLists.txt
reactos/lib/newinflib/builddep.h
reactos/lib/newinflib/inflib.rbuild
reactos/tools/mkhive/CMakeLists.txt
reactos/tools/mkhive/mkhive.rbuild
reactos/tools/unicode/CMakeLists.txt
reactos/tools/unicode/unicode.rbuild
reactos/tools/wmc/CMakeLists.txt
reactos/tools/wmc/wmc.rbuild
reactos/tools/wrc/CMakeLists.txt
reactos/tools/wrc/wrc.rbuild

index b09f0f4..f553f64 100644 (file)
@@ -54,11 +54,7 @@ extern "C" {
 #endif
 
 #ifndef WINE_UNICODE_API
-# if defined(_MSC_VER) || defined(__MINGW32__)
-#  define WINE_UNICODE_API DECLSPEC_IMPORT
-# else
-#  define WINE_UNICODE_API
-# endif
+#define WINE_UNICODE_API
 #endif
 
 #ifndef WINE_UNICODE_INLINE
index 569b693..323964c 100644 (file)
 #include <wingdi.h>
 #include <winuser.h>
 #include <wincon.h>
-#ifndef _WINNLS_H
 #include <winnls.h>
-#endif
-#ifndef _WINVER_H
 #include <winver.h>
-#endif
-#ifndef _WINNETWK_H
 #include <winnetwk.h>
-#endif
-#ifndef _WINREG_H
 #include <winreg.h>
-#endif
-#ifndef _WINSVC_H
 #include <winsvc.h>
-#endif
 
 #ifndef WIN32_LEAN_AND_MEAN
 #include <cderr.h>
index c391472..d489da8 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _WINNETWK_H
-#define _WINNETWK_H
+#ifndef _WINNETWK_
+#define _WINNETWK_
 
 #ifdef __cplusplus
 extern "C" {
index 7677e3a..4282220 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _WINNLS_H
-#define _WINNLS_H
+#ifndef _WINNLS_
+#define _WINNLS_
 
 #ifdef __cplusplus
 extern "C" {
index 32f9ceb..92999ca 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _WINREG_H
-#define _WINREG_H
+#ifndef _WINREG_
+#define _WINREG_
 
 #ifdef __cplusplus
 extern "C" {
index 389f951..8a66503 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _WINSVC_H
-#define _WINSVC_H
+#ifndef _WINSVC_
+#define _WINSVC_
 
 #ifdef __cplusplus
 extern "C" {
index af93d6e..56b9fa8 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef _WINVER_H
-#define _WINVER_H
+#ifndef VER_H
+#define VER_H
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/reactos/include/reactos/wcsfuncs.h b/reactos/include/reactos/wcsfuncs.h
deleted file mode 100644 (file)
index 4357331..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-  PROJECT:    ReactOS
-  LICENSE:    GPL v2 or any later version
-  FILE:       include/host/wcsfuncs.h
-  PURPOSE:    Header for the "host_wcsfuncs" static library
-  COPYRIGHT:  Copyright 2008 Colin Finck <mail@colinfinck.de>
-*/
-
-#ifndef _HOST_WCSFUNCS_H
-#define _HOST_WCSFUNCS_H
-
-/* Map str*W functions to wcs* function */
-
-#define isspaceW iswspace
-#define strchrW  wcschr
-#define strcmpiW _wcsicmp
-#define strcpyW  wcscpy
-#define strlenW  wcslen
-#define strncmpW wcsncmp
-#define strtolW  wcstol
-#define strtoulW wcstoul
-
-#endif
index 9e30188..1c74261 100644 (file)
@@ -1,5 +1,12 @@
-#ifndef _WINE_UNICODE_H
-#define _WINE_UNICODE_H
+/*
+ * PROJECT:    ReactOS
+ * LICENSE:    LGPL v2.1 or any later version
+ * PURPOSE:    Map Wine's Unicode functions to native wcs* functions wherever possible
+ * AUTHORS:    ?
+ */
+
+#ifndef __WINE_WINE_UNICODE_H
+#define __WINE_WINE_UNICODE_H
 
 #include <stdarg.h>
 #include <stdlib.h>
@@ -9,6 +16,14 @@
 #include <winbase.h>
 #include <winnls.h>
 
+#ifndef WINE_UNICODE_API
+#define WINE_UNICODE_API
+#endif
+
+#ifndef WINE_UNICODE_INLINE
+#define WINE_UNICODE_INLINE static inline
+#endif
+
 #define memicmpW(s1,s2,n) _wcsnicmp((const wchar_t *)(s1),(const wchar_t *)(s2),(n))
 #define strlenW(s) wcslen((const wchar_t *)(s))
 #define strcpyW(d,s) wcscpy((wchar_t *)(d),(const wchar_t *)(s))
@@ -25,6 +40,7 @@
 #define strncmpiW(s1,s2,n) _wcsnicmp((const wchar_t *)(s1),(const wchar_t *)(s2),(n))
 #define strtoulW(s1,s2,b) wcstoul((const wchar_t *)(s1),(wchar_t **)(s2),(b))
 #define strspnW(str, accept) wcsspn((const wchar_t *)(str), (const wchar_t *)(accept))
+#define strpbrkW(str, accept) wcspbrk((const wchar_t *)(str), (const wchar_t *)(accept))
 #define tolowerW(n) towlower((n))
 #define toupperW(n) towupper((n))
 #define islowerW(n) iswlower((n))
 #define vsnprintfW _vsnwprintf
 #define isprintW iswprint
 
-#ifndef WINE_UNICODE_API
-# if defined(_MSC_VER)
-#  define WINE_UNICODE_API __declspec(dllimport)
-# else
-#  define WINE_UNICODE_API __attribute__((dllimport))
-# endif
-#endif
-
-#ifndef __VALIST
-#ifdef __GNUC__
-#define __VALIST __gnuc_va_list
-#else
-#define __VALIST char*
-#endif
-#endif /* defined __VALIST  */
-
-static __inline WCHAR *strpbrkW( const WCHAR *str, const WCHAR *accept )
-{
-    for ( ; *str; str++) if (strchrW( accept, *str )) return (WCHAR *)str;
-    return NULL;
-}
-
 static __inline WCHAR *memchrW( const WCHAR *ptr, WCHAR ch, size_t n )
 {
     const WCHAR *end;
index 0de4e4d..38c1b53 100644 (file)
@@ -17,7 +17,6 @@ if(CMAKE_CROSSCOMPILING)
     add_dependencies(cmlib bugcodes)
 else()
     add_definitions(
-        -DWINE_UNICODE_API=
         -D__NO_CTYPE_INLINES
         -DCMLIB_HOST)
     add_library(cmlibhost ${SOURCE})
index ff5470c..5fb8506 100644 (file)
@@ -13,7 +13,6 @@
 #define _CMLIB_DEBUG_ 1
 
 #ifdef CMLIB_HOST
-    #include <wine/unicode.h>
     #include <typedefs.h>
     #include <stdio.h>
     #include <string.h>
@@ -69,9 +68,6 @@
     #define PWORK_QUEUE_ITEM PVOID
     #define EX_PUSH_LOCK PULONG_PTR
 
-    /* For <host/wcsfuncs.h> */
-    #define USE_HOST_WCSFUNCS
-
     #define CMLTRACE(x, ...)
 #else
     //
     #endif
 
     #include <ntdef.h>
-    #undef DECLSPEC_IMPORT
-    #define DECLSPEC_IMPORT
     #include <ntddk.h>
-    #include <wcsfuncs.h>
+
+    /* Prevent inclusion of Windows headers through <wine/unicode.h> */
+    #define _WINDEF_
+    #define _WINBASE_
+    #define _WINNLS_
 #endif
 
 
 
 #define CMAPI NTAPI
 
+#include <wine/unicode.h>
 #include <wchar.h>
 #include "hivedata.h"
 #include "cmdata.h"
index ab81a02..506eef9 100644 (file)
@@ -14,8 +14,6 @@
        <file>hivewrt.c</file>
 </module>
 <module name="cmlibhost" type="hoststaticlibrary">
-       <define name="WINE_UNICODE_API">" "</define>
-       <include base="unicode" />
        <include base="cmlibhost">.</include>
        <define name="__NO_CTYPE_INLINES" />
        <define name="_NTOSKRNL_" />
index aade527..1a8dad5 100644 (file)
@@ -11,7 +11,6 @@
        <file>infrosput.c</file>
 </module>
 <module name="inflibhost" type="hoststaticlibrary" allowwarnings="true">
-       <include base="ReactOS">include/host</include>
        <include base="inflibhost">.</include>
        <define name="__NO_CTYPE_INLINES" />
        <group compilerset="gcc">
index d592790..bc57ae6 100644 (file)
@@ -19,7 +19,7 @@ else()
         infhostput.c
         infhostrtl.c)
 
-    add_definitions(-DWINE_UNICODE_API= -D__NO_CTYPE_INLINES -DINFLIB_HOST -DUSE_HOST_WCSFUNCS)
+    add_definitions(-D__NO_CTYPE_INLINES -DINFLIB_HOST)
     if(NOT MSVC)
         add_compiler_flags(-Wpointer-arith -Wwrite-strings)
     endif()
index c24a1eb..398cb88 100644 (file)
@@ -8,7 +8,6 @@
 
 /* Definitions native to the host on which we're building */
 
-#include <wine/unicode.h>
 #include <typedefs.h>
 
 #include <stdarg.h>
@@ -63,7 +62,6 @@ BOOLEAN NTAPI RtlIsTextUnicode( PVOID buf, INT len, INT *pf );
 #include <windows.h>
 #define NTOS_MODE_USER
 #include <ndk/ntndk.h>
-#include <wcsfuncs.h>
 
 extern PVOID InfpHeap;
 
@@ -83,4 +81,6 @@ extern PVOID InfpHeap;
 
 #endif /* INFLIB_HOST */
 
+#include <wine/unicode.h>
+
 /* EOF */
index 7c758a7..d43e7ec 100644 (file)
        <file>infrosput.c</file>
 </module>
 <module name="newinflibhost" type="hoststaticlibrary" allowwarnings="true">
-       <define name="WINE_UNICODE_API">" "</define>
-       <include base="unicode" />
        <include base="newinflibhost">.</include>
        <define name="__NO_CTYPE_INLINES" />
-       <define name="USE_HOST_WCSFUNCS" />
        <group compilerset="gcc">
                <compilerflag>-Wwrite-strings</compilerflag>
                <compilerflag>-Wpointer-arith</compilerflag>
index 3629fb6..13e0429 100644 (file)
@@ -1,7 +1,5 @@
 
-add_definitions(
-    -DMKHIVE_HOST
-    -DWINE_UNICODE_API= )
+add_definitions(-DMKHIVE_HOST)
 
 include_directories(
     ${REACTOS_SOURCE_DIR}/lib/newinflib
index 3b78e80..26a95fa 100644 (file)
@@ -1,8 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
 <module name="mkhive" type="buildtool">
-       <define name="WINE_UNICODE_API">" "</define>
-       <include base="unicode" />
        <include base="newinflibhost">.</include>
        <include base="cmlibhost">.</include>
        <include base="zlibhost">.</include>
index 82fd36b..39868c1 100644 (file)
@@ -1,6 +1,3 @@
-
-add_definitions(-DWINE_UNICODE_API= )
-
 list(APPEND SOURCE
     casemap.c
     compose.c
index cd2f6ac..17c1193 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
 <module name="unicode" type="hoststaticlibrary">
-       <define name="WINE_UNICODE_API">" "</define>
        <file>casemap.c</file>
        <file>compose.c</file>
        <file>cptable.c</file>
@@ -72,4 +71,4 @@
        <file>c_28604.c</file>
        <file>c_28605.c</file>
        <file>c_28606.c</file>
-</module>
\ No newline at end of file
+</module>
index dd82e0f..565a275 100644 (file)
@@ -9,6 +9,4 @@ list(APPEND SOURCE
 
 add_executable(wmc ${SOURCE})
 
-add_definitions(-DWINE_UNICODE_API= )
-
 target_link_libraries(wmc unicode)
index 6822c82..9dd4ead 100644 (file)
@@ -1,8 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
 <module name="wmc" type="buildtool" allowwarnings="true">
-       <define name="WINE_UNICODE_API">" "</define>
-       <include base="unicode">.</include>
        <library>unicode</library>
        <file>lang.c</file>
        <file>mcl.c</file>
index 5121cf9..c94abad 100644 (file)
@@ -14,6 +14,4 @@ list(APPEND SOURCE
 
 add_executable(wrc ${SOURCE})
 
-add_definitions(-DWINE_UNICODE_API= )
-
 target_link_libraries(wrc wpp unicode)
index 4ea83b3..0bbfb1c 100644 (file)
@@ -1,9 +1,6 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../tools/rbuild/project.dtd">
 <module name="wrc" type="buildtool" allowwarnings="true">
-       <define name="WINE_UNICODE_API">" "</define>
-       <include base="unicode" />
-       <include base="wpp" />
        <library>unicode</library>
        <library>wpp</library>
        <file>dumpres.c</file>