Changeset 25300

Show
Ignore:
Timestamp:
11/29/08 02:25:07 (4 years ago)
Author:
saturday06
Message:

comit!

Location:
lang/c/libintl-msvc
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • lang/c/libintl-msvc/recipes/bindtextdom-windows.h

    r25197 r25300  
    1616{ 
    1717  unsigned int num_elements = 0; 
    18   char *d = NULL; 
    1918  char *dirname8 = NULL; 
    2019  char *dirname8_bak = NULL; 
     
    4039  if (0 == WideCharToMultiByte (CP_UTF8, 0, dirname16, -1, dirname8, num_elements, 0, 0)) 
    4140    { 
    42       memset(dirname8_bak, 0, num_elements); 
    43       free (dirname8); 
    44       return NULL; 
    45     } 
    46 /* 
    47   {   
    48       int i = 0; 
    49       for (; i < 100; i++) { 
    50           printf("%02x[%c] ",  
    51                  (unsigned int)(unsigned char)(dirname8[i]), 
    52                  isprint((unsigned char)(dirname8[i])) ?  
    53                  ((unsigned char)(dirname8[i])) : (' ') 
    54               ); 
    55       } 
    56       printf("\n"); 
    57   } 
    58 */ 
    59   { 
    60       d = malloc(1024); 
    61       strcpy(d, dirname8); 
    62 //      strcpy(dirname8, d); 
    63       set_binding_values (domainname, (const char**)&d, NULL); 
    64 //      set_binding_values (domainname, (const char**)&dirname8, NULL); 
    65   } 
    66   if (dirname8 == NULL) 
    67     { 
    68       memset(dirname8_bak, 0, num_elements); 
    69       free(dirname8_bak); 
     41      free (dirname8_bak); 
    7042      return NULL; 
    7143    } 
    7244 
     45  set_binding_values (domainname, (const char**)&dirname8, NULL); 
     46  if (dirname8 == NULL) 
     47    { 
     48      free (dirname8_bak); 
     49      return NULL; 
     50    } 
    7351 
    74   memset(dirname8_bak, 0, num_elements); 
    75   free (dirname8); 
     52  free (dirname8_bak); 
    7653 
    7754  return dirname16; 
     
    9269  if (num_elements == 0) 
    9370    { 
    94 MessageBoxA(NULL, dirname, "dirname a", MB_OK); 
    9571      return NULL; 
    9672    } 
     
    9874  if (num_elements >= WCHAR_LIBINTL_MAX_PATH) 
    9975    { 
    100 MessageBoxA(NULL, dirname, "dirname b", MB_OK); 
    10176      return NULL; 
    10277    } 
     
    10782                                dirname16, num_elements)) 
    10883    { 
    109 MessageBoxA(NULL, dirname, "dirname c", MB_OK); 
    11084      free (dirname16); 
    11185      return NULL; 
     
    11488  if (libintl_windows_wbindtextdomain (domainname, dirname16) == NULL) 
    11589    { 
    116 MessageBoxA(NULL, dirname, "dirname d", MB_OK); 
    11790      free (dirname16); 
    11891      return NULL; 
    11992    } 
    12093 
    121 MessageBoxA(NULL, dirname, "dirname e", MB_OK); 
    12294  free (dirname16); 
    12395 
     
    12597} 
    12698 
     99#undef WCHAR_LIBINTL_MAX_PATH 
    127100 
    128101#endif 
  • lang/c/libintl-msvc/recipes/loadmsgcat-windows.h

    r25197 r25300  
    1111 
    1212#include <windows.h> 
     13#include <io.h> 
    1314 
    1415/* http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx */ 
     
    2223  int result = 0; 
    2324 
    24  
    2525  num_elements = MultiByteToWideChar (CP_UTF8, 0, pathname8, -1, NULL, 0); 
    2626  if (num_elements == 0) 
    2727    { 
    28 MessageBoxA(NULL, pathname8, "pathname8 a", MB_OK); 
    2928      errno = EACCES; 
    3029      return -1; 
     
    3332  if (num_elements >= WCHAR_LIBINTL_MAX_PATH) 
    3433    { 
    35 MessageBoxA(NULL, pathname8, "pathname8 b", MB_OK); 
    3634      errno = EACCES; 
    3735      return -1; 
     
    4240                                pathname16, num_elements)) 
    4341    { 
    44 MessageBoxA(NULL, pathname8, "pathname8 c", MB_OK); 
    4542      free (pathname16); 
    4643      errno = EACCES; 
     
    4845    } 
    4946 
    50 MessageBoxA(NULL, pathname8, "pathname8 OK", MB_OK); 
    5147  result = _wopen (pathname16, flags); 
    5248  free (pathname16); 
  • lang/c/libintl-msvc/samples/sample.cpp

    r25197 r25300  
    2828    std::vector<TCHAR> locale_dir(3000); 
    2929    DWORD result = GetModuleFileName(GetModuleHandle(NULL),  
    30                                      &locale_dir[0], locale_dir.size()); 
     30                                     &locale_dir[0], locale_dir.size() - 1); 
    3131 
    3232    if (result == 0 || result == locale_dir.size()) { 
  • lang/c/libintl-msvc/step1.sh

    r25197 r25300  
    1414# setup dummy libiconv 
    1515# --------------------- 
    16  
    1716rm -fr win_iconv 
    1817mkdir -p win_iconv/include 
     
    3231# compile libintl 
    3332# --------------------- 
    34  
    3533cd recipes/libintl 
    36 #rm -rf intl 
    37 #autoreconf -i 
     34rm -rf intl 
     35autoreconf -i 
    3836cp ../loadmsgcat-windows.h ../bindtextdom-windows.h intl/ 
    3937 
     
    5654 
    5755# --------------------- 
     56# msvc(Win9x) 
     57# --------------------- 
     58CFLAGS="$CFLAGS_MSVC" ./configure \ 
     59  --with-libiconv-prefix=`pwd`/../../win_iconv-win9x \ 
     60  --with-included-gettext \ 
     61  --enable-threads=win32 && 
     62  cd intl && make clean && make && gcc $CFLAGS_MSVC -c tsearch.c -I.. && cd .. 
     63 
     64strip -gx intl/*.o 
     65mkdir -p ../msvc-win9x-obj 
     66for obj in $objlist 
     67do 
     68  cp -f intl/$obj ../msvc-win9x-obj/${obj}bj 
     69done 
     70 
     71# --------------------- 
     72# msvc 
     73# --------------------- 
     74CFLAGS="$CFLAGS_MSVC $CFLAGS_UNICODE" ./configure \ 
     75  --with-libiconv-prefix=`pwd`/../../win_iconv \ 
     76  --with-included-gettext \ 
     77  --enable-threads=win32 && 
     78  cd intl && make clean && make && gcc $CFLAGS_MSVC $CFLAGS_UNICODE -c tsearch.c -I.. && cd .. 
     79 
     80strip -gx intl/*.o 
     81mkdir -p ../msvc-obj 
     82for obj in $objlist 
     83do 
     84  cp -f intl/$obj ../msvc-obj/${obj}bj 
     85done 
     86 
     87# --------------------- 
    5888# mingw(Win9x) 
    5989# --------------------- 
    60 #CFLAGS="$CFLAGS" ./configure \ 
    61 #  --with-libiconv-prefix=`pwd`/../../win_iconv-win9x \ 
    62 #  --with-included-gettext \ 
    63 #  --enable-threads=win32 && 
    64 #  cd intl && make clean && make && cp -f libintl.a ../../../libintl-win9x.a && cd .. 
     90CFLAGS="$CFLAGS" ./configure \ 
     91  --with-libiconv-prefix=`pwd`/../../win_iconv-win9x \ 
     92  --with-included-gettext \ 
     93  --enable-threads=win32 && 
     94  cd intl && make clean && make && cp -f libintl.a ../../../libintl-win9x.a && cd .. 
    6595 
    6696# --------------------- 
    6797# mingw 
    6898# --------------------- 
    69 #CFLAGS="$CFLAGS $CFLAGS_UNICODE" ./configure \ 
    70 #  --with-libiconv-prefix=`pwd`/../../win_iconv \ 
    71 #  --with-included-gettext \ 
    72 #  --enable-threads=win32 && 
    73    
    74 cd intl && make clean && make && cp -f libintl.a ../../../libintl.a && cd .. 
     99CFLAGS="$CFLAGS $CFLAGS_UNICODE" ./configure \ 
     100  --with-libiconv-prefix=`pwd`/../../win_iconv \ 
     101  --with-included-gettext \ 
     102  --enable-threads=win32 && 
     103  cd intl && make clean && make && cp -f libintl.a ../../../libintl.a && cd .. 
    75104 
    76105# --------------------- 
     
    79108cd ../../samples 
    80109rm -f mingw-sample-win9x.exe mingw-sample.exe 
    81 #g++ $CFLAGS -o mingw-sample-win9x.exe sample.cpp ../win_iconv-win9x.o ../libintl-win9x.a -luser32 -lshlwapi 
     110g++ $CFLAGS -o mingw-sample-win9x.exe sample.cpp ../win_iconv-win9x.o ../libintl-win9x.a -luser32 -lshlwapi 
    82111g++ $CFLAGS $CFLAGS_UNICODE -o mingw-sample.exe sample.cpp ../win_iconv.o ../libintl.a -luser32 -lshlwapi 
    83 #./mingw-sample-win9x > hello-win9x.txt 
     112./mingw-sample-win9x > hello-win9x.txt 
    84113./mingw-sample > hello.txt 
    85114cd .. 
  • lang/c/libintl-msvc/step2.bat

    r25160 r25300  
    33REM -------------------- 
    44 
    5 del libintl.lib libintl-win9x.lib 
    6 lib /OUT:libintl.lib       recipes\msvc-obj\*.obj /NOLOGO 
    7 lib /OUT:libintl-win9x.lib  recipes\msvc-win9x-obj\*.obj /NOLOGO 
     5del /F libintl.lib libintl-win9x.lib 
     6lib /NOLOGO /OUT:libintl.lib       recipes\msvc-obj\*.obj  
     7lib /NOLOGO /OUT:libintl-win9x.lib recipes\msvc-win9x-obj\*.obj 
    88 
    99REM -------------------- 
     
    1313REM use win_iconv.c 
    1414cd samples 
    15 del msvc-sample*.exe 
    16 del msvc-sample*.exe.manifest 
    17 cl /Ot /Femsvc-sample-win9x.exe   /MT  sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 
    18 cl /Ot /Femsvc-sample-win9x-2.exe /MTd sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 
    19 cl /Ot /Femsvc-sample-win9x-3.exe /MD  sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 
    20 cl /Ot /Femsvc-sample-win9x-4.exe /MDd sample.cpp ..\libintl-win9x.lib ..\win_iconv.c user32.lib /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 && ^ 
    21 cl /Ot /Femsvc-sample.exe   /MT  sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE  /D_UNICODE && ^ 
    22 cl /Ot /Femsvc-sample-2.exe /MTd sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE  /D_UNICODE && ^ 
    23 cl /Ot /Femsvc-sample-3.exe /MD  sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE  /D_UNICODE && ^ 
    24 cl /Ot /Femsvc-sample-4.exe /MDd sample.cpp ..\libintl.lib ..\win_iconv.c user32.lib /nologo /EHsc /DUNICODE  /D_UNICODE && ^ 
     15del /F msvc-sample*.exe msvc-sample*.exe.manifest 
     16cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x.exe   /MT  && ^ 
     17cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-2.exe /MTd && ^ 
     18cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-3.exe /MD  && ^ 
     19cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DWINVER=0x0400 /D_WIN32_IE=0x0200 /D_WIN32_WINNT=0x0400 ..\libintl-win9x.lib /Femsvc-sample-win9x-4.exe /MDd && ^ 
     20cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample.exe   /MT  && ^ 
     21cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-2.exe /MTd && ^ 
     22cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-3.exe /MD  && ^ 
     23cl sample.cpp ..\win_iconv.c user32.lib /Ot /nologo /EHsc /DUNICODE /D_UNICODE ..\libintl.lib /Femsvc-sample-4.exe /MDd && ^ 
    2524msvc-sample-win9x && ^ 
    2625msvc-sample && ^ 
  • lang/c/libintl-msvc/win_iconv.c

    r25291 r25300  
    3535#ifdef _MSC_VER 
    3636__declspec (thread) int errno = 0; 
     37#elif (MINGW32_MAJOR_VERSION >= 4) 
     38__thread int errno = 0; 
    3739#else 
    38 //_thread int errno = 0; 
    39 int errno = 0; 
     40#error "tls required" 
    4041#endif 
    4142