Author: pulkomandy Date: 2010-07-13 12:51:57 +0200 (Tue, 13 Jul 2010) New Revision: 37490 Changeset: http://dev.haiku-os.org/changeset/37490 Modified: haiku/trunk/build/jam/HaikuImage haiku/trunk/src/kits/locale/LocaleRoster.cpp Log: Make locale kit Hybrid build aware, so that the catalog add-ons will be available for gcc4 applications. Modified: haiku/trunk/build/jam/HaikuImage =================================================================== --- haiku/trunk/build/jam/HaikuImage 2010-07-13 09:41:42 UTC (rev 37489) +++ haiku/trunk/build/jam/HaikuImage 2010-07-13 10:51:57 UTC (rev 37490) @@ -51,8 +51,9 @@ query quit rc readlink ReadOnlyBootPrompt reindex release renice rlog rm rmattr rmindex rmdir roster route - safemode screen_blanker screenmode screenshot sdiff setdecor settype setversion - setvolume setwep seq sha1sum shar shred shuf shutdown sleep sort spamdbm + safemode screen_blanker screenmode screenshot sdiff setdecor settype + setversion setvolume setwep seq sha1sum shar shred shuf shutdown sleep sort + spamdbm split stat strace stty su sum sync sysinfo tac tail tcpdump tcptester tee telnet telnetd test timeout top touch tput tr traceroute translate trash true truncate tsort tty @@ -518,6 +519,8 @@ : $(SYSTEM_ADD_ONS_TRANSLATORS) : : true ; AddFilesToHaikuImage system add-ons locale catalogs : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) ; +AddFilesToHaikuHybridImage system add-ons locale catalogs + : $(SYSTEM_ADD_ONS_LOCALE_CATALOGS) : : true ; AddFilesToHaikuImage system add-ons mail_daemon inbound_protocols : POP3 IMAP ; AddFilesToHaikuImage system add-ons mail_daemon outbound_protocols : SMTP ; AddFilesToHaikuImage system add-ons mail_daemon inbound_filters Modified: haiku/trunk/src/kits/locale/LocaleRoster.cpp =================================================================== --- haiku/trunk/src/kits/locale/LocaleRoster.cpp 2010-07-13 09:41:42 UTC (rev 37489) +++ haiku/trunk/src/kits/locale/LocaleRoster.cpp 2010-07-13 10:51:57 UTC (rev 37490) @@ -290,7 +290,7 @@ // add info about embedded default catalog: BCatalogAddOnInfo *defaultCatalogAddOnInfo = new(std::nothrow) BCatalogAddOnInfo("Default", "", - DefaultCatalog::kDefaultCatalogAddOnPriority); + DefaultCatalog::kDefaultCatalogAddOnPriority); if (!defaultCatalogAddOnInfo) return; @@ -309,10 +309,26 @@ BDirectory addOnFolder; char buf[4096]; status_t err; - for (int f=0; folders[f]>=0; ++f) { + for (int f = 0; folders[f]>=0; ++f) { find_directory(folders[f], &addOnPath); BString addOnFolderName(addOnPath.Path()); addOnFolderName << "/locale/catalogs"; + + system_info info; + if (get_system_info(&info) == B_OK + && (info.abi & B_HAIKU_ABI_MAJOR) + != (B_HAIKU_ABI & B_HAIKU_ABI_MAJOR)) { + switch (B_HAIKU_ABI & B_HAIKU_ABI_MAJOR) { + case B_HAIKU_ABI_GCC_2: + addOnFolderName << "/gcc2"; + break; + case B_HAIKU_ABI_GCC_4: + addOnFolderName << "/gcc4"; + break; + } + } + + err = addOnFolder.SetTo(addOnFolderName.String()); if (err != B_OK) continue;