diff --git a/src/apps/Jamfile b/src/apps/Jamfile index 828c94707b..532b9b06b1 100644 --- a/src/apps/Jamfile +++ b/src/apps/Jamfile @@ -1,5 +1,6 @@ SubDir OBOS_TOP src apps ; +SubInclude OBOS_TOP src apps abouthaiku ; SubInclude OBOS_TOP src apps bemail ; SubInclude OBOS_TOP src apps cdplayer ; SubInclude OBOS_TOP src apps clock ; diff --git a/src/apps/abouthaiku/AboutHaiku.cpp b/src/apps/abouthaiku/AboutHaiku.cpp new file mode 100644 index 0000000000..6b216a87f3 --- /dev/null +++ b/src/apps/abouthaiku/AboutHaiku.cpp @@ -0,0 +1,574 @@ +/* + * Copyright (c) 2001-2005, Haiku, Inc. + * Distributed under the terms of the MIT license. + * + * Author: DarkWyrm + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define MOVE_INFO_VIEW 'mviv' + +const char *CPUToString(cpu_type type); +const char *UptimeToString(void); + +class AboutApp : public BApplication +{ +public: + AboutApp(void); +}; + +class AboutWindow : public BWindow +{ +public: + AboutWindow(void); + bool QuitRequested(void); +}; + +class AboutView : public BView +{ +public: + AboutView(const BRect &r); + ~AboutView(void); + void AttachedToWindow(void); + void Pulse(void); + void Draw(BRect update); + void MessageReceived(BMessage *msg); + void MouseDown(BPoint pt); + +private: + BStringView *fUptimeView; + BView *fInfoView; + BTextView *fCreditsView; + + BBitmap *fLogo; + + BPoint fDrawPoint; +}; + +int main(void) +{ + AboutApp app; + app.Run(); + return 0; +} + +AboutApp::AboutApp(void) + : BApplication("application/x-vnd.haiku-AboutHaiku") +{ + AboutWindow *win = new AboutWindow(); + win->Show(); +} + + +AboutWindow::AboutWindow(void) + : BWindow( BRect(0,0,500,300), "About Haiku", B_TITLED_WINDOW, + B_NOT_RESIZABLE | B_NOT_ZOOMABLE) +{ + AboutView *view = new AboutView(Bounds()); + AddChild(view); + + MoveTo( (BScreen().Frame().Width() - Bounds().Width()) / 2, + (BScreen().Frame().Height() - Bounds().Height()) / 2 ); +} + +bool +AboutWindow::QuitRequested(void) +{ + be_app->PostMessage(B_QUIT_REQUESTED); + return true; +} + + +AboutView::AboutView(const BRect &r) + : BView(r, "aboutview", B_FOLLOW_ALL, B_WILL_DRAW | B_PULSE_NEEDED) +{ + fLogo=BTranslationUtils::GetBitmap("haikulogo.png"); + + if(fLogo) + { + fDrawPoint.x=( 225-fLogo->Bounds().Width() )/2; + fDrawPoint.y=0; + } + + // Begin Construction of System Information controls + + font_height height; + float labelsize, textsize; + char string[255]; + system_info sysinfo; + + get_system_info(&sysinfo); + + be_plain_font->GetHeight(&height); + textsize = height.ascent + height.descent + height.leading; + + be_bold_font->GetHeight(&height); + labelsize = height.ascent + height.descent + height.leading; + + BRect r(0,0,225,Bounds().bottom); + if(fLogo) + r.OffsetBy(0,fLogo->Bounds().Height()); + + fInfoView = new BView(r, "infoview", B_FOLLOW_NONE, B_WILL_DRAW); + fInfoView->SetViewColor(235,235,235); + AddChild(fInfoView); + + // Add all the various labels for system infomation + + BStringView *strview; + + // OS Version + r.Set(5,5,225,labelsize+5); + strview = new BStringView(r, "oslabel","Version:"); + strview->SetFont(be_bold_font); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + + // the version is stored in the BEOS:APP_VERSION attribute of libbe.so + BFile file("/boot/beos/system/lib/libbe.so",B_READ_ONLY); + BAppFileInfo afInfo; + version_info vInfo; + + if( file.InitCheck()==B_OK && + afInfo.SetTo(&file)==B_OK && + afInfo.GetVersionInfo(&vInfo, B_APP_VERSION_KIND)==B_OK ) + { + strcpy(string,vInfo.short_info); + } + else + strcpy(string,"Unknown"); + + strview = new BStringView(r, "ostext",string); + fInfoView->AddChild(strview); + + // CPU count, type and clock speed + r.OffsetBy(0,textsize*1.5); + r.bottom=r.top + labelsize; + + if(sysinfo.cpu_count > 1) + sprintf(string,"%ld Processors:",sysinfo.cpu_count); + else + strcpy(string,"Processor:"); + + strview = new BStringView(r, "cpulabel","Processor:"); + strview->SetFont(be_bold_font); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + strview = new BStringView(r, "cputext",CPUToString(sysinfo.cpu_type)); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + + if(sysinfo.cpu_clock_speed < 1000000000) + sprintf(string,"%.2f Mhz",sysinfo.cpu_clock_speed / 1000000.0f); + else + sprintf(string,"%.2f Ghz",sysinfo.cpu_clock_speed / 1000000000.0f); + + strview = new BStringView(r, "mhztext",string); + fInfoView->AddChild(strview); + + // RAM + r.OffsetBy(0,textsize*1.5); + r.bottom=r.top + labelsize; + strview = new BStringView(r, "ramlabel","Memory:"); + strview->SetFont(be_bold_font); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + + sprintf(string,"%ld MB total", sysinfo.max_pages / 256); + + strview = new BStringView(r, "ramtext",string); + fInfoView->AddChild(strview); + + // Kernel build time/date + r.OffsetBy(0,textsize*1.5); + r.bottom=r.top + labelsize; + strview = new BStringView(r, "kernellabel","Kernel:"); + strview->SetFont(be_bold_font); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + + sprintf(string,"%s %s",sysinfo.kernel_build_date, sysinfo.kernel_build_time); + + strview = new BStringView(r, "kerneltext",string); + fInfoView->AddChild(strview); + + // Uptime + r.OffsetBy(0,textsize*1.5); + r.bottom=r.top + labelsize; + strview = new BStringView(r, "uptimelabel","Time Running:"); + strview->SetFont(be_bold_font); + fInfoView->AddChild(strview); + + r.OffsetBy(0,labelsize); + r.bottom=r.top + textsize; + + fUptimeView = new BStringView(r, "uptimetext",""); + fInfoView->AddChild(fUptimeView); + fUptimeView->SetText(UptimeToString()); + + // Begin construction of the credits view + r=Bounds(); + r.left += fInfoView->Bounds().right; + r.right -= B_V_SCROLL_BAR_WIDTH; + + fCreditsView = new BTextView(r, "credits", r.OffsetToCopy(0,0).InsetByCopy(5,5),B_FOLLOW_NONE); + BScrollView *creditsScroller = new BScrollView("creditsScroller",fCreditsView,0,0, + false,true, B_PLAIN_BORDER); + AddChild(creditsScroller); + + fCreditsView->SetStylable(true); + fCreditsView->MakeEditable(false); + + BFont font(be_bold_font); + font.SetSize(be_bold_font->Size()+2); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("Haiku\n"); + + font.SetSize(be_bold_font->Size()+1); + font.SetFace(B_BOLD_FACE | B_ITALIC_FACE); + + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert("Copyright (C) 2001-2005 Haiku, Inc.\n\n"); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("Team Leads:\n"); + + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert( + "Bruno G. Albuquerque\n" + "DarkWyrm\n" + "Axel Dörfler\n" + "Philippe Houdoin\n" + "Kurtis Kopf\n" + "Marcus Overhagen\n" + "Sikosis\n" + "Ingo Weinhold\n" + "Michael Wilber\n" + "\n" + ); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("Developers:\n"); + + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert( + "Stephan Aßmus\n" + "Andrew Bachmann\n" + "Stefano Ceccherini\n" + "Rudolf Cornelissen\n" + "Jérôme Duval\n" + "Matthijs Hollemans\n" + "Adi Oanca\n" + "Niels Reedijk\n" + "\n"); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("Contributors:\n"); + + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert( + "Bruce Cameron\n" + "Tyler Dauwalder\n" + "Oliver Ruiz Dorantes\n" + "Marc Flerackers\n" + "Erik Jaesler\n" + "Elad Lahav\n" + "Santiago Lema\n" + "Jerome Leveque\n" + "Michael Lotz\n" + "Graham MacDonald\n" + "Brian Matzon\n" + "Christopher ML Zumwalt May\n" + "Andrew McCall\n" + "David McPaul\n" + "Misza\n" + "MrSiggler\n" + "Alan Murta\n" + "Frans Van Nispen\n" + "Pahtz\n" + "Jeremy Rand\n" + "David Reid" + "Daniel Reinhold\n" + "Thomas Roell\n" + "François Revol\n" + "Zousar Shaker\n" + "Daniel Switkin\n" + "Atsushi Takamatsu\n" + "Jason Vandermark\n" + "Sandor Vroemisse\n" + "Nathan Whitehorn\n" + "Ulrich Wimboeck\n" + "Gabe Yoder\n" + "\n"); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("Special Thanks To:\n"); + + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert("Michael Phipps\n\n"); + +/* + // TODO: Add these (somehow) + Brian Paul (Mesa) + Silicon Graphics Inc. (GLU) + Mark Kilgard & Be Inc. & Jam Hamby (GLUT) +*/ + + font.SetSize(be_bold_font->Size()+2); + font.SetFace(B_BOLD_FACE); + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("\nCopyrights\n\n"); + + font.SetSize(be_bold_font->Size()+1); + font.SetFace(B_ITALIC_FACE); + + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("AntiGrain Geometry\n"); + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert("Copyright (C) 2002-2005 Maxim Shemanarev (McSeem)\n\n"); + + font.SetFace(B_ITALIC_FACE); + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("PDFLib\n"); + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert("Copyright (c) 1997-2005 PDFlib GmbH and Thomas Merz. " + "All rights reserved.\n" + "PDFlib and the PDFlib logo are registered trademarks of PDFlib GmbH.\n\n"); + + font.SetFace(B_ITALIC_FACE); + fCreditsView->SetFontAndColor(&font); + fCreditsView->Insert("FreeType2\n"); + fCreditsView->SetFontAndColor(be_plain_font); + fCreditsView->Insert("Portions of this software are copyright (C) 1996-2002 The FreeType" + " Project (www.freetype.org). All rights reserved.\n\n"); +} + +AboutView::~AboutView(void) +{ +} + +void +AboutView::AttachedToWindow(void) +{ + Window()->SetPulseRate(500000); +} + +void +AboutView::MouseDown(BPoint pt) +{ + BRect r(92,26,105,31); + if(r.Contains(pt)) + printf("Easter Egg\n"); +} + +void +AboutView::Draw(BRect update) +{ + if(fLogo) + DrawBitmap(fLogo,fDrawPoint); + +} + +void +AboutView::Pulse(void) +{ + fUptimeView->SetText(UptimeToString()); +} + +void +AboutView::MessageReceived(BMessage *msg) +{ + switch(msg->what) + { + case MOVE_INFO_VIEW: + { + fInfoView->MoveBy(0,-5); + break; + } + default: + BView::MessageReceived(msg); + } +} + +const char *CPUToString(cpu_type type) +{ + switch(type) + { + case B_CPU_PPC_601: return "PowerPC 601"; + case B_CPU_PPC_603: return "PowerPC 603"; + case B_CPU_PPC_603e: return "PowerPC 603e"; + case B_CPU_PPC_604: return "PowerPC 604"; + case B_CPU_PPC_604e: return "PowerPC 604e"; + case B_CPU_PPC_750: return "PowerPC 750"; + case B_CPU_PPC_686: return "PowerPC 686"; + case B_CPU_AMD_29K: return "AMD 29000"; +// case B_CPU_X86: return "Generic x86"; + + case B_CPU_MC6502: return "MC 6502"; + case B_CPU_MIPS: return "MIPS"; + case B_CPU_HPPA: return "HPPA"; + case B_CPU_SH: return "SH"; + + case B_CPU_Z80: return "Z80"; + case B_CPU_ALPHA: return "Alpha"; + case B_CPU_M68K: return "Motorola 68000"; + case B_CPU_ARM: return "ARM"; + case B_CPU_SPARC: return "SPARC"; + +// case B_CPU_INTEL_X86: return "Generic Intel x86"; + case B_CPU_INTEL_PENTIUM: return "Intel Pentium"; + case B_CPU_INTEL_PENTIUM75: return "Intel Pentium"; + case B_CPU_INTEL_PENTIUM_486_OVERDRIVE: return "Intel 486 Overdrive"; + case B_CPU_INTEL_PENTIUM_MMX: return "Intel Pentium MMX"; + case B_CPU_INTEL_PENTIUM_MMX_MODEL_8: return "Intel Pentium MMX, Model 8"; + case B_CPU_INTEL_PENTIUM75_486_OVERDRIVE: return "Intel 486 Overdrive"; + case B_CPU_INTEL_PENTIUM_PRO: return "Intel Pentium Pro"; + case B_CPU_INTEL_PENTIUM_II: return "Intel Pentium II"; + case B_CPU_INTEL_PENTIUM_II_MODEL_5: return "Intel Pentium II, Model 5"; + case B_CPU_INTEL_CELERON: return "Intel Celeron"; + case B_CPU_INTEL_PENTIUM_III: return "Intel Pentium III"; + case B_CPU_INTEL_PENTIUM_III_MODEL_8: return "Intel Pentium III, Model 8"; + case B_CPU_INTEL_PENTIUM_M: return "Intel Pentium M"; + case B_CPU_INTEL_PENTIUM_III_XEON: return "Intel Pentium III Xeon"; + case B_CPU_INTEL_PENTIUM_III_MODEL_11: return "Intel Pentium III, Model 11"; + case B_CPU_INTEL_PENTIUM_M_MODEL_13: return "Intel Pentium M, Model 13"; + case B_CPU_INTEL_PENTIUM_IV: return "Intel Pentium IV"; + case B_CPU_INTEL_PENTIUM_IV_MODEL_1: return "Intel Pentium IV, Model 1"; + case B_CPU_INTEL_PENTIUM_IV_MODEL_2: return "Intel Pentium IV, Model 2"; + case B_CPU_INTEL_PENTIUM_IV_MODEL_3: return "Intel Pentium IV, Model 3"; + case B_CPU_INTEL_PENTIUM_IV_MODEL_4: return "Intel Pentium IV, Model 4"; + + +/* case B_CPU_AMD_X86: return "Generic AMD x86"; + case B_CPU_AMD_K5_MODEL0: return "AMD K5, Model 0"; + case B_CPU_AMD_K5_MODEL1: return "AMD K5, Model 1"; + case B_CPU_AMD_K5_MODEL2: return "AMD K5, Model 2"; + case B_CPU_AMD_K5_MODEL3: return "AMD K5, Model 3"; + case B_CPU_AMD_K6_MODEL6: return "AMD K6, Model 6"; + case B_CPU_AMD_K6_MODEL7: return "AMD K6, Model 7"; +*/ + case B_CPU_AMD_K6_2: return "AMD K6 2"; + case B_CPU_AMD_K6_III: return "AMD K6 3"; + + case B_CPU_AMD_ATHLON_MODEL_1: return "AMD Athlon, Model 1"; + case B_CPU_AMD_ATHLON_MODEL_2: return "AMD Athlon, Model 2"; + case B_CPU_AMD_DURON: return "AMD Duron"; + + case B_CPU_AMD_ATHLON_THUNDERBIRD: return "AMD Athlon (Thunderbird)"; + case B_CPU_AMD_ATHLON_XP: return "AMD Athlon XP"; + case B_CPU_AMD_ATHLON_XP_MODEL_7: return "AMD Athlon XP, Model 7"; + case B_CPU_AMD_ATHLON_XP_MODEL_8: return "AMD Athlon XP, Model 8"; + case B_CPU_AMD_ATHLON_XP_MODEL_10: return "AMD Athlon XP, Model 10"; + + case B_CPU_AMD_ATHLON_64_MODEL_4: return "AMD Athlon64, Model 4"; + case B_CPU_AMD_ATHLON_64_MODEL_5: return "AMD Athlon64, Model 5"; + case B_CPU_AMD_ATHLON_64_MODEL_7: return "AMD Athlon64, Model 7"; + case B_CPU_AMD_ATHLON_64_MODEL_8: return "AMD Athlon64, Model 8"; + case B_CPU_AMD_ATHLON_64_MODEL_11: return "AMD Athlon64, Model 11"; + case B_CPU_AMD_ATHLON_64_MODEL_12: return "AMD Athlon64, Model 12"; + case B_CPU_AMD_ATHLON_64_MODEL_14: return "AMD Athlon64, Model 14"; + case B_CPU_AMD_ATHLON_64_MODEL_15: return "AMD Athlon64, Model 15"; + + +// case B_CPU_CYRIX_X86: return "Generic Cyrix x86"; + case B_CPU_CYRIX_GXm: return "Cyrix GXm"; + case B_CPU_CYRIX_6x86MX: return "Cyrix 6x86 MX"; +// case B_CPU_IDT_X86: return "Generic IDT x86"; + case B_CPU_IDT_WINCHIP_C6: return "IDT Winchip C6"; + case B_CPU_IDT_WINCHIP_2: return "IDT Winchip 2"; + case B_CPU_IDT_WINCHIP_3: return "IDT Winchip 3"; + case B_CPU_VIA_EDEN: return "VIA Eden"; + case B_CPU_VIA_EDEN_EZRA_T: return "Via Eden (Ezra)"; + +// case B_CPU_RISE_X86: return "Rise x86"; + case B_CPU_RISE_mP6: return "Rise mP6"; + + case B_CPU_TRANSMETA_x86: return "Transmeta x86"; + case B_CPU_TRANSMETA_CRUSOE: return "Transmeta Crusoe"; + + case B_CPU_NATIONAL_x86: return "National Semiconductor x86"; + case B_CPU_NATIONAL_GEODE_GX1: return "National Semiconductor GX1"; + case B_CPU_NATIONAL_GEODE_GX2: return "National Semiconductor GX2"; + default: + break; + } + return "Unrecognized CPU"; +} + +const char *UptimeToString(void) +{ + char string[255]; + int64 days, hours, minutes, seconds, remainder; + int64 systime = system_time(); + + if(systime > 86400000000LL) + { + days = systime / 86400000000LL; + remainder = systime % 86400000000LL; + + hours = remainder / 3600000000LL; + remainder = remainder % 3600000000LL; + + minutes = remainder / 60000000; + remainder = remainder % 60000000; + + seconds = remainder / 1000000; + sprintf(string,"%lld days, %lld hours, %lld minutes, %lld seconds",days, + hours, minutes, seconds); + } + else + if(systime > 3600000000LL) + { + hours = systime / 3600000000LL; + remainder = systime % 3600000000LL; + + minutes = remainder / 60000000; + remainder = remainder % 60000000; + + seconds = remainder / 1000000; + sprintf(string,"%lld hours, %lld minutes, %lld seconds",hours, minutes, seconds); + } + else + if(systime > 60000000) + { + minutes = systime / 60000000; + remainder = systime % 60000000; + + seconds = remainder / 1000000; + sprintf(string,"%lld minutes, %lld seconds",minutes, seconds); + } + else + { + seconds = systime / 1000000; + sprintf(string,"%lld seconds",seconds); + } + return string; +} diff --git a/src/apps/abouthaiku/AboutHaiku.rdef b/src/apps/abouthaiku/AboutHaiku.rdef new file mode 100644 index 0000000000..f7956f483b --- /dev/null +++ b/src/apps/abouthaiku/AboutHaiku.rdef @@ -0,0 +1,78 @@ + +resource(1, "haikulogo.png") #'PNG ' array { + $"89504E470D0A1A0A0000000D49484452000000760000003308060000004232FC" + $"CE0000057E4944415478DAED9A7F681B6518C78338268A102D148439CAE8ECBA" + $"9599E9FE50EC1F075AE95047603A148485E1E6C439B366A8B585EA5ADDC4D94C" + $"4685CEDA38DC0F57D41B2BADFBE1166BD5BAAE923A37852ACBE6D60DA7E5CA2A" + $"C382F0F83C977B93B7F192BB4B736D339F07BEE47279EFEE7DDFCFFB3CEFF3BE" + $"170FB05D97E6E12E60B06C0C968DC1B231583606CB60B90B182C1B836563B06C" + $"0C968DC13258EE0206CBC660DD314DD3201C0E333537C12A8A021E8F071A1A1A" + $"EC3D08CB3A296F66914804BC5EAF0E38178B46A3C97AD0B1DD3A672B4B7512E5" + $"A86EF178DCB2CFE8D3495DAF7BB0252525FA3DA8336702D874A8B158CC569F31" + $"58C954554DDE83004F3758A75019ACC5F39C80710B6C2E5019AC8951C7C95049" + $"7EBF7F5AC0CA507D3E9F6DA859C15EC2FBFF19FBFF810D0402C9104C59B1B857" + $"B644C50DB0E9509D267119C10E45122A44B0C515451008AD8437F6D5C32743BB" + $"E0E59E8DF0DAD7753070B9DF7289231A4850E93B853FFA1E0C06A70CEC64A166" + $"053B8603B427501860AF8E5F85CFCF7642F34013287BEF87B6D3DB743DF6E943" + $"B078FB02B87B4739848E6FB07C0EDD5FCC65A23385073B5DFAE40A563C6F3250" + $"2DE7D82E656683A5469F191984FD43ADB023D60455FB2BE1DE0F2BE0ED93F5FA" + $"E7A237E783EFBD72FD98E05B99F04EEA5CB339D7C9D22757B0F9806A09362D1C" + $"CF18B01452A3E78FC1FBA79AA1FBFC6E58D5FDB80E4FE89E0F16C1C2C6D224D4" + $"D6588BAD0D09E54E0FA8CB3DA03D8F55AD4135E152A74581E0035EC74B9FC982" + $"B593CDE60C761C074C970FE0371CC0D762EE837DB7AB198EFC70C8B49273943B" + $"60DBD1D7F5102B3C93A08A630194BC9444C7748EE6D6AC761133C47DD8C03A6F" + $"0AA889E2CF60765C6A7FE9932B581135D223475EC1927D8183F4672FC068197C" + $"D959E32ED80B2317E0A58F42F0E8D66A58B7730DB41F6F83EF86FAA0BABE0A6A" + $"7BD7C3E6BE4D50B97B6912E48A8F97E97328815C503F4FF7D2253B17267F7FA1" + $"E3B9CC0F1B89EBDE3801E07AD49A34A5013EB705AFB9A6B90696CAD2F26AB270" + $"2DC17E8FEDD98B3A3D0BB481D9E02B9BA2504C90C97BC98B973EBD04CA6AE7E9" + $"9A1F2AD145C704B3E2ADBB92219744C953F9E65228AABC2D73164D5E2AA0AE46" + $"3D6968B504749571EE1154156AB971EE45D43B3E57C1D2DC4A73AC9CA1E71DEC" + $"AF78FE30B6E5006A1075F616086F9A3DF5736CF1C34513E6D14C22B037CFBD29" + $"7316DD134E012550EB0C6FDC9A210C6F47351AE59E40551BC0FB22AEAE63D3E1" + $"3ADDB3B6047B259C004A607B67019CBB15E08F625C0EDD07F0D79EA94D9E42AF" + $"86E0E02F07F479F3A983A984898E09289DA7ECD77283A21F3BA91DBD6E97118E" + $"3A50AD06C84603327DFFCCF88DCED7A15A0CBD825A81F3533BDE7F4C736DE789" + $"3645E439D7095C5A77674DF8FED1126045483E6678EE991B012EDF0EF0FBDAE9" + $"5DC712C8E1B1E19C769EB44B715016E3E6C383D8A1B538B2DB519DA81338AFFD" + $"84D75E5431055713A1FB1BDCB0880641DD88A1711996DF8323BE1B3B7A2576DC" + $"57AA6B7BC5B4DC12709DEC15CB2F32328672CA8A073D29CF157049A76E40AF7E" + $"B630B714C58684932D43F13A2FE909E4B175FE8424EFCDE7DB1DF95E4EE08ABA" + $"D235667063275488B649300F1BA263119AFFAE293CB0A2E14ED68CF2FEF10408" + $"1DD8711B1457C09ABDE5B13310656F1783914234F58BE853CA86B55E096EBF01" + $"B71BF5AD0178744BE180953B8AC2965D93F78FFFF3D6470AC96EFC83421E5476" + $"77A6086EFA6B4859D416BDFD23914442F5A33705B9D708CF031896C7E3F9074B" + $"100892DDCD012A6B559E7E13E572AD4FB66BC9A344193BDE65B72CC1B5D33E33" + $"C0C25349B43EA676980E8E51043D1C4C2C89E2FEC4E79570FEC1B2CD6C63B00C" + $"968DC1B231583606CBC660D9182C836563B06C0C968DC1B231583606CB60D90A" + $"C9FE050C69AA28093EFAFE0000000049454E44AE426082" +}; + +resource(1, "BEOS:APP_SIG") #'MIMS' "application/x-vnd.haiku-AboutHaiku"; + +resource(1, "BEOS:APP_VERSION") #'APPV' array { + $"0100000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000000000000000000000000000000000000000000000000000" + $"0000000000000000" +}; + +resource(1, "BEOS:APP_FLAGS") #'APPF' $"02000000"; diff --git a/src/apps/abouthaiku/Jamfile b/src/apps/abouthaiku/Jamfile new file mode 100644 index 0000000000..9d9a4b915d --- /dev/null +++ b/src/apps/abouthaiku/Jamfile @@ -0,0 +1,7 @@ +SubDir OBOS_TOP src apps abouthaiku ; + +App AboutHaiku : AboutHaiku.cpp + : libbe.so libtranslation.so + : AboutHaiku.rdef + ; + diff --git a/src/apps/tracker/Jamfile b/src/apps/tracker/Jamfile index 7a6b5d82ee..0e8f640117 100644 --- a/src/apps/tracker/Jamfile +++ b/src/apps/tracker/Jamfile @@ -9,5 +9,11 @@ AddResources Tracker : Tracker.rdef ; App Tracker : main.cpp ; +if ( $(TARGET_PLATFORM) = haiku ) { LinkSharedOSLibs Tracker : libbe.so libtracker.so ; + +} else { + +LinkSharedOSLibs Tracker : libopenbeos.so libtracker.so ; +} \ No newline at end of file