ICU-1404 Fix broken out-of-source-directory build
X-SVN-Rev: 6571
This commit is contained in:
parent
0972265bf5
commit
cf191f47df
@ -36,11 +36,11 @@ endif
|
|||||||
|
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
|
|
||||||
DATADIR := $(shell pwd)/../../../data
|
BUILDDIR := $(shell pwd)/../..
|
||||||
|
|
||||||
# we define ICU_UNICODE_VERSION so we can test it
|
# we define ICU_UNICODE_VERSION so we can test it
|
||||||
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil \
|
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/ctestfw -I$(top_srcdir)/tools/toolutil \
|
||||||
-DICU_UNICODE_VERSION=\"$(UNICODE_VERSION)\" -DICU_VERSION=\"@VERSION@\" -DICUDATA_NAME=\"$(ICUDATA_NAME)\" -DU_SRCDATADIR=\"$(DATADIR)/\"
|
-DICU_UNICODE_VERSION=\"$(UNICODE_VERSION)\" -DICU_VERSION=\"@VERSION@\" -DICUDATA_NAME=\"$(ICUDATA_NAME)\" -DU_TOPSRCDIR=\"$(top_srcdir)/\" -DU_TOPBUILDDIR=\"$(BUILDDIR)\"
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CXXFLAGS = @CXXFLAGS@
|
CXXFLAGS = @CXXFLAGS@
|
||||||
ENABLE_RPATH = @ENABLE_RPATH@
|
ENABLE_RPATH = @ENABLE_RPATH@
|
||||||
|
@ -220,14 +220,17 @@ void ctest_setICU_DATA() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* U_SRCDATADIR is set by the makefiles on UNIXes when building cintltst and intltst
|
/* U_TOPBUILDDIR is set by the makefiles on UNIXes when building cintltst and intltst
|
||||||
* to point to "wherever/icu/data"
|
// to point to the top of the build hierarchy, which may or
|
||||||
* We can make a path from there to "wherever/icu/source/data"
|
// may not be the same as the source directory, depending on
|
||||||
* The value is complete with quotes, so it can be used as-is as a string constant.
|
// the configure options used. At any rate,
|
||||||
|
// set the data path to the built data from this directory.
|
||||||
|
// The value is complete with quotes, so it can be used
|
||||||
|
// as-is as a string constant.
|
||||||
*/
|
*/
|
||||||
#if defined (U_SRCDATADIR)
|
#if defined (U_TOPBUILDDIR)
|
||||||
{
|
{
|
||||||
static char env_string[] = U_SRCDATADIR "/../source/data/";
|
static char env_string[] = U_TOPBUILDDIR "/data/";
|
||||||
u_setDataDirectory(env_string);
|
u_setDataDirectory(env_string);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -238,7 +241,7 @@ void ctest_setICU_DATA() {
|
|||||||
* Change to "wherever\icu\source\data"
|
* Change to "wherever\icu\source\data"
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
char p[sizeof(__FILE__) + 1];
|
char p[sizeof(__FILE__) + 10];
|
||||||
char *pBackSlash;
|
char *pBackSlash;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1304,11 +1304,16 @@ static FileStream * getFractionalUCA(void)
|
|||||||
uprv_strcat(newPath, "unidata" U_FILE_SEP_STRING );
|
uprv_strcat(newPath, "unidata" U_FILE_SEP_STRING );
|
||||||
uprv_strcat(newPath, "FractionalUCA.txt");
|
uprv_strcat(newPath, "FractionalUCA.txt");
|
||||||
|
|
||||||
uprv_strcpy(backupPath, u_getDataDirectory());
|
/* As a fallback, try to guess where the source data was located
|
||||||
uprv_strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
* at the time ICU was built, and look there.
|
||||||
uprv_strcat(backupPath, U_FILE_SEP_STRING);
|
*/
|
||||||
uprv_strcat(backupPath, "unidata" U_FILE_SEP_STRING );
|
#if defined (U_TOPSRCDIR)
|
||||||
uprv_strcat(backupPath, "FractionalUCA.txt");
|
strcpy(backupPath, U_TOPSRCDIR U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#else
|
||||||
|
strcpy(backupPath, u_getDataDirectory());
|
||||||
|
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#endif
|
||||||
|
strcat(backupPath, U_FILE_SEP_STRING "unidata" U_FILE_SEP_STRING "FractionalUCA.txt");
|
||||||
|
|
||||||
result = T_FileStream_open(newPath, "rb");
|
result = T_FileStream_open(newPath, "rb");
|
||||||
|
|
||||||
|
@ -589,8 +589,15 @@ static void TestUnicodeData()
|
|||||||
strcpy(newPath, u_getDataDirectory());
|
strcpy(newPath, u_getDataDirectory());
|
||||||
strcat(newPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
strcat(newPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
||||||
|
|
||||||
strcpy(backupPath, u_getDataDirectory());
|
/* As a fallback, try to guess where the source data was located
|
||||||
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
* at the time ICU was built, and look there.
|
||||||
|
*/
|
||||||
|
#if defined (U_TOPSRCDIR)
|
||||||
|
strcpy(backupPath, U_TOPSRCDIR U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#else
|
||||||
|
strcpy(backupPath, u_getDataDirectory());
|
||||||
|
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#endif
|
||||||
strcat(backupPath, U_FILE_SEP_STRING);
|
strcat(backupPath, U_FILE_SEP_STRING);
|
||||||
strcat(backupPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
strcat(backupPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
||||||
|
|
||||||
|
@ -23,8 +23,8 @@ CLEANFILES = *~ $(DEPS)
|
|||||||
TARGET = intltest
|
TARGET = intltest
|
||||||
|
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DATADIR := $(shell pwd)/../../../data
|
BUILDDIR := $(shell pwd)/../..
|
||||||
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil -D'U_SRCDATADIR=$(MACRO_SEPARATOR)"$(DATADIR)/"'
|
CPPFLAGS = @CPPFLAGS@ -I$(top_builddir)/common -I$(top_srcdir)/common -I$(top_srcdir)/i18n -I$(top_srcdir)/tools/toolutil -D'U_TOPSRCDIR="$(top_srcdir)/"' -D'U_TOPBUILDDIR="$(BUILDDIR)"'
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CXXFLAGS = @CXXFLAGS@
|
CXXFLAGS = @CXXFLAGS@
|
||||||
LDFLAGS = @LDFLAGS@ \
|
LDFLAGS = @LDFLAGS@ \
|
||||||
|
@ -156,28 +156,28 @@ void ConvertTest::TestConvert()
|
|||||||
|
|
||||||
someConverters[0] = new UnicodeConverter("ibm-1123",err);
|
someConverters[0] = new UnicodeConverter("ibm-1123",err);
|
||||||
if (U_FAILURE(err)) {
|
if (U_FAILURE(err)) {
|
||||||
errln ((UnicodeString)"FAILURE! " + myErrorName(err));
|
errln ((UnicodeString)"FAILURE a! " + myErrorName(err));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
someConverters[1] = new UnicodeConverter("ibm-1123",err);
|
someConverters[1] = new UnicodeConverter("ibm-1123",err);
|
||||||
if (U_FAILURE(err)) {
|
if (U_FAILURE(err)) {
|
||||||
errln ((UnicodeString)"FAILURE! " + myErrorName(err));
|
errln ((UnicodeString)"FAILURE b! " + myErrorName(err));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
someConverters[2] = new UnicodeConverter("ibm-1123",err);
|
someConverters[2] = new UnicodeConverter("ibm-1123",err);
|
||||||
if (U_FAILURE(err)) {
|
if (U_FAILURE(err)) {
|
||||||
errln ((UnicodeString)"FAILURE! " + myErrorName(err));
|
errln ((UnicodeString)"FAILURE c! " + myErrorName(err));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
someConverters[3] = new UnicodeConverter("ibm-834", err);
|
someConverters[3] = new UnicodeConverter("ibm-834", err);
|
||||||
if (U_FAILURE(err)) {
|
if (U_FAILURE(err)) {
|
||||||
errln ((UnicodeString)"FAILURE! " + myErrorName(err));
|
errln ((UnicodeString)"FAILURE d! " + myErrorName(err));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
someConverters[4] = new UnicodeConverter("ibm-941", err);
|
someConverters[4] = new UnicodeConverter("ibm-949", err);
|
||||||
if (U_FAILURE(err)) {
|
if (U_FAILURE(err)) {
|
||||||
errln ((UnicodeString)"FAILURE! " + myErrorName(err));
|
errln ((UnicodeString)"FAILURE e! " + myErrorName(err));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,32 +396,33 @@ void IntlTest::setICU_DATA() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* U_SRCDATADIR is set by the makefiles on UNIXes when building cintltst and intltst
|
// U_TOPBUILDDIR is set by the makefiles on UNIXes when building cintltst and intltst
|
||||||
* to point to "wherever/icu/data"
|
// to point to the top of the build hierarchy, which may or
|
||||||
* We can make a path from there to "wherever/icu/source/data"
|
// may not be the same as the source directory, depending on
|
||||||
* The value is complete with quotes, so it can be used as-is as a string constant.
|
// the configure options used. At any rate,
|
||||||
*/
|
// set the data path to the built data from this directory.
|
||||||
#if defined (U_SRCDATADIR)
|
// The value is complete with quotes, so it can be used
|
||||||
|
// as-is as a string constant.
|
||||||
|
|
||||||
|
#if defined (U_TOPBUILDDIR)
|
||||||
{
|
{
|
||||||
static char env_string[] = U_SRCDATADIR "/../source/data/";
|
static char env_string[] = U_TOPBUILDDIR "/data/";
|
||||||
u_setDataDirectory(env_string);
|
u_setDataDirectory(env_string);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Use #else so we don't get compiler warnings due to the return above.
|
// Use #else so we don't get compiler warnings due to the return above.
|
||||||
|
|
||||||
/* On Windows, the file name obtained from __FILE__ includes a full path.
|
/* On Windows, the file name obtained from __FILE__ includes a full path.
|
||||||
* This file is "wherever\icu\source\test\cintltst\cintltst.c"
|
* This file is "wherever\icu\source\test\cintltst\cintltst.c"
|
||||||
* Change to "wherever\icu\source\data"
|
* Change to "wherever\icu\source\data"
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
char p[sizeof(__FILE__) + 1];
|
char p[sizeof(__FILE__) + 10];
|
||||||
char *pBackSlash;
|
char *pBackSlash;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// p = new char [strlen("\\data") + strlen(__FILE__) + 1]; // <<< LEAK
|
|
||||||
// strcpy(p, "ICU_DATA=");
|
|
||||||
strcpy(p, __FILE__);
|
strcpy(p, __FILE__);
|
||||||
/* We want to back over three '\' chars. */
|
/* We want to back over three '\' chars. */
|
||||||
/* Only Windows should end up here, so looking for '\' is safe. */
|
/* Only Windows should end up here, so looking for '\' is safe. */
|
||||||
|
@ -58,12 +58,15 @@ void NormalizerConformanceTest::TestConformance(void) {
|
|||||||
strcat(newPath, "unidata" U_FILE_SEP_STRING );
|
strcat(newPath, "unidata" U_FILE_SEP_STRING );
|
||||||
strcat(newPath, TEST_SUITE_FILE);
|
strcat(newPath, TEST_SUITE_FILE);
|
||||||
|
|
||||||
strcpy(backupPath, u_getDataDirectory());
|
// As a fallback, try to guess where the source data was located
|
||||||
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
// at the time ICU was built, and look there.
|
||||||
strcat(backupPath, U_FILE_SEP_STRING);
|
#if defined (U_TOPSRCDIR)
|
||||||
strcat(backupPath, "unidata" U_FILE_SEP_STRING );
|
strcpy(backupPath, U_TOPSRCDIR U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
strcat(backupPath, TEST_SUITE_FILE);
|
#else
|
||||||
|
strcpy(backupPath, u_getDataDirectory());
|
||||||
|
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#endif
|
||||||
|
strcat(backupPath, U_FILE_SEP_STRING "unidata" U_FILE_SEP_STRING TEST_SUITE_FILE);
|
||||||
|
|
||||||
input = T_FileStream_open(newPath, "rb");
|
input = T_FileStream_open(newPath, "rb");
|
||||||
|
|
||||||
|
@ -34,8 +34,8 @@ TransliteratorRoundTripTest::runIndexedTest(int32_t index, UBool exec,
|
|||||||
CASE(1,TestKatakana);
|
CASE(1,TestKatakana);
|
||||||
//CASE(2,TestArabic);
|
//CASE(2,TestArabic);
|
||||||
//CASE(3,TestHebrew);
|
//CASE(3,TestHebrew);
|
||||||
CASE(2,TestGreek);
|
//CASE(2,TestGreek);
|
||||||
CASE(3,TestCyrillic);
|
//CASE(3,TestCyrillic);
|
||||||
/*
|
/*
|
||||||
CASE(7,TestJamo);
|
CASE(7,TestJamo);
|
||||||
CASE(8,TestJamoHangul);
|
CASE(8,TestJamoHangul);
|
||||||
|
@ -476,8 +476,15 @@ void UnicodeTest::TestUnicodeData()
|
|||||||
strcpy(newPath, u_getDataDirectory());
|
strcpy(newPath, u_getDataDirectory());
|
||||||
strcat(newPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
strcat(newPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
||||||
|
|
||||||
strcpy(backupPath, u_getDataDirectory());
|
|
||||||
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
// As a fallback, try to guess where the source data was located
|
||||||
|
// at the time ICU was built, and look there.
|
||||||
|
#if defined (U_TOPSRCDIR)
|
||||||
|
strcpy(backupPath, U_TOPSRCDIR U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#else
|
||||||
|
strcpy(backupPath, u_getDataDirectory());
|
||||||
|
strcat(backupPath, ".." U_FILE_SEP_STRING ".." U_FILE_SEP_STRING "data");
|
||||||
|
#endif
|
||||||
strcat(backupPath, U_FILE_SEP_STRING);
|
strcat(backupPath, U_FILE_SEP_STRING);
|
||||||
strcat(backupPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
strcat(backupPath, "unidata" U_FILE_SEP_STRING "UnicodeData.txt");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user