diff --git a/build/jam/HaikuImage b/build/jam/HaikuImage index 747d32e05b..88d628a7ce 100644 --- a/build/jam/HaikuImage +++ b/build/jam/HaikuImage @@ -51,8 +51,9 @@ SYSTEM_BIN = "[" addattr alert arp base64 basename bash bc beep bootman bzip2 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 @@ AddFilesToHaikuHybridImage system add-ons Translators : $(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 diff --git a/src/kits/locale/LocaleRoster.cpp b/src/kits/locale/LocaleRoster.cpp index f93e1d36d3..f612cc1878 100644 --- a/src/kits/locale/LocaleRoster.cpp +++ b/src/kits/locale/LocaleRoster.cpp @@ -290,7 +290,7 @@ RosterData::InitializeCatalogAddOns() // add info about embedded default catalog: BCatalogAddOnInfo *defaultCatalogAddOnInfo = new(std::nothrow) BCatalogAddOnInfo("Default", "", - DefaultCatalog::kDefaultCatalogAddOnPriority); + DefaultCatalog::kDefaultCatalogAddOnPriority); if (!defaultCatalogAddOnInfo) return; @@ -309,10 +309,26 @@ RosterData::InitializeCatalogAddOns() 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;