Commit Graph

1043 Commits

Author SHA1 Message Date
Ingo Weinhold
448671a39c * Build library libroot_debug.so, which is the standard libroot.so with the
debug heap implementation.
* Added libroot_debug.so to the DevelopmentMin optional package. Since it has
  the same soname as the standard libroot, it can simply be specified in
  LD_PRELOAD to run a program with that version.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:13:17 +00:00
Ingo Weinhold
c682a1937e SharedLibrary: The soname of the library can now be set explicitly by setting
the HAIKU_SONAME variable on the target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-28 00:06:11 +00:00
Ingo Weinhold
eb8dc1ebfb * Removed DEBUG_PAGE_CACHE_TRANSITIONS debugging.
* Added VMCache::MovePage() and MoveAllPages() to move pages between caches.
* VMAnonymousCache:
  - _MergeSwapPages(): Avoid doing anything, if neither cache has swapped out
    pages.
  - _MergeSwapPages() does now also remove source cache pages that are
    shadowed by consumer swap pages. This allows us to call _MergeSwapPages()
    before _MergePagesSmallerSource(), save the swap page shadowing check
    there and get rid of the vm_page::merge_swap flag. This is an
    optimization based on the assumption that usually none or only few pages
    are swapped out, so we save a lot of checks.
  - Implemented _MergePagesSmallerConsumer() as an alternative to
    _MergePagesSmallerSource(). The former is used when the source cache has
    more pages than the consumer cache. It iterates over the consumer cache's
    pages, moves them to the source and finally moves all pages back to the
    consumer. The final move is relatively cheap (though unfortunately we
    still have to update all pages' vm_page::cache field), so that overall we
    save iterations of the main loop with the more expensive checks.

The optimizations particularly improve the common fork()+exec*() situations.
fork() uses CoW, which is implemented by putting two new empty caches between
the to be copied area and its cache. exec*() destroys one copy of the area,
its cache and thus causes merging of the other new cache with the old cache.
Since this usually happens in a very short time, the old cache does still
contain many pages and the new cache only few. Previously the many pages were
all checked and moved individually. Now we do that for the few pages instead.

A very extreme example of this situation is the Haiku image build. jam has a
huge heap (> 200 MB) and it fork()s+exec*()s for every action to be executed.
Since during the cache merging the cache is locked, any write access to a
heap page causes jam to block until the cache merging is done. Formerly that
took so long that it killed a lot of parallelism in multi-job builds. That
could be observed particularly well when lots of small actions where executed
(like the Link, XRes, Mimeset, SetType, SetVersion combos when building
executables/libraries/add-ons). Those look dramatically better now.
The overall speed improvement for a -j8 image build on my machine is only
about 15%, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 16:14:13 +00:00
Scott McCreary
cd9c31cc1a added sed to DevelopmentBase, seemed to be the place it best fit in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 08:58:50 +00:00
Scott McCreary
96b1978dc5 Updated neon to 0.29.1 and fixed symlinks in bzip2 package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 03:30:44 +00:00
Colin Günther
aa50f74f12 Adding patch by mmadia, which allows installation of firmware for the
Intel Pro Wireless 2100 and 2200/2945 chipsets in a license correct manner.
Thank you!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-27 00:13:08 +00:00
Scott McCreary
579f5ff88f Updated automake to 1.11.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-23 16:43:51 +00:00
Ingo Weinhold
a38f850360 * arch_debug_get_stack_trace():
- Replaced the "userOnly" parameter by a "flags" parameter, that allows to
    specify kernel and userland stack traces individually.
  - x86, m68k: Don't always skip the first frame as that prevents the caller
    from being able to record its own address.
* capture_tracing_stack_trace(): Replaced the "userOnly" parameter by
  "kernelOnly", since one is probably always interested in the kernel stack
  trace, but might not want the userland stack trace.
* Added stack trace support for VM cache kernel tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 15:15:07 +00:00
Ingo Weinhold
42f2c2d099 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 15:02:35 +00:00
Adrien Destugues
c48d1db6ff Disable catalogs for appearance until someone finds why the en.catkeys doesn't get built.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 11:36:40 +00:00
Adrien Destugues
9c1a9b926a * Patch by Humdinger to convert a lot of things to sentance case.
* Cleanup and update of all the touched catkeys files


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-21 12:51:41 +00:00
Ingo Weinhold
1b6f98637b Patch by Andreas Färber: Fix mixup of GNU and Sun linker on OpenSolaris.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 16:46:27 +00:00
Ingo Weinhold
0b58d8440c * Prefixed the INCLUDE_GPL_ADDONS variable by "HAIKU_". configure needs to
be run again or generated/build/BuildConfig needs to be adjusted manually.
* Removed bochs debug hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:55:45 +00:00
Ingo Weinhold
adf0692b51 * Removed the DEBUG_PRINTF variable support.
* Simplified the HAIKU_INCLUDE_PATENTED_CODE variable support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-20 13:40:12 +00:00
Ingo Weinhold
e001389fc7 Added shared headers to HAIKU_PRIVATE_KERNEL_HEADERS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-19 14:23:44 +00:00
François Revol
5a19f90372 Add link to User Guide to the Desktop. Fixes #4537.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-18 22:43:07 +00:00
Stephan Aßmus
53ed733a36 Patch by Humdinger:
Renamed OpenTerminal to Open Terminal, since it sounds much more like a phrase
than a label for an add-on. Fixes #4434.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 20:46:49 +00:00
Siarzhuk Zharski
97df980335 Add vt612x NIC driver (VIA VT6122) into trunk HaikuImage.
This driver was confirmed as working stable for a week by Algirdas Buckus.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-15 20:25:07 +00:00
Colin Günther
89ee864a4c Renamed atheros wlan driver to atheroswifi. This makes it easier to tell apart
the lan atheros813x and the wlan atheros driver.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-10 20:21:43 +00:00
François Revol
4dc69971bc Force 64bit for i686-apple-darwin10 (OSX), since it seems to fool everyone about it being still 32bit (well the kernel maybe but not the rest). This makes the build go further along on OSX 10.6.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-06 14:22:44 +00:00
Ingo Weinhold
fc7864091e Attempt at allowing to use C++ structures in C only code: We use the
CreateAsmStructOffsetsHeader mechanism to generate a header with macros
defined to the sizes of the structures we're interested in and when compiling
in C mode define the structures as "struct { char bytes[size]; }".
It works in principle, but due to how jam works, one would have to specify the
dependency to the generated header for all sources that include it directly or
indirectly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-02 10:56:10 +00:00
Ingo Weinhold
ba829ba0f9 Adjusted gcc2 work-around to renamed file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 17:07:10 +00:00
Rene Gollent
bef04468c3 Add missing optional package dependency between Curl and OpenSSL as pointed out by Adrian Panasiuk. Resolves ticket #5059.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 23:43:39 +00:00
Colin Günther
048efdbc0a Including atheros wlan driver and atheros813x ethernet driver into the build
images. The atheros wlan driver isn't included in the NetBootArchive, because
you can't tell the driver, which wlan it should connect to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 11:42:19 +00:00
Scott McCreary
c6406d4645 Updated autoconf to 2.65.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-28 12:57:44 +00:00
Scott McCreary
e49733cf63 Updated python build to use newer patch which was updated by Chris Roberts. Added Bzip2 and made it a dependency for python. This now allows python to extraxt .bz2 files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 12:53:30 +00:00
Ingo Weinhold
d52f7d5214 Added potential HAIKU_OFFICIAL_RELEASE macro definition to be defined in the
release branch. This completes the build system part of #5036.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 11:34:55 +00:00
Ingo Weinhold
6236ae8570 Also include HaikuBuildCompatibility.h on a Haiku host platform and
conditionally define some of the new stuff there. That fixes the build under
a r34172 Haiku, though it also causes some problems that needed working around.
Haven't tested under newer Haiku revisions yet. Will do tomorrow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 23:48:45 +00:00
Axel Dörfler
2f1e464a8c * We need to define __STDC_FORMAT_MACROS, and __STDC_LIMIT_MACROS under BeOS
compatible platforms as well, Ingo. This fixes building Haiku under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 16:33:10 +00:00
Ingo Weinhold
a79e0ef1ad Also add __STDC_LIMIT_MACROS to the host defines. It gives us macros like
INT32_MAX.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 11:58:09 +00:00
Ingo Weinhold
bdfce0e900 Define __STDC_FORMAT_MACROS directly in HOST_DEFINES.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34217 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 20:19:08 +00:00
Ingo Weinhold
2222d0559d * Introduced new header directory "config", which ATM contains HaikuConfig.h
and types.h. The idea is to provide a basic architecture/compiler
  abstraction by defining types and macros that allow the posix/ and os/
  headers to be mostly architecture/compiler agnostic. 
* Adjusted the posix/ and os/ headers accordingly.
* <SupportDefs.h>: Introduced B_PRI* and B_SCN* macros similar to the PRI*
  and SCN* macros defined in <inttypes.h>, just for the BeOS/Haiku [u]int*
  types and some POSIX types (e.g. off_t, dev_t, ino_t) that don't have POSIX
  macros. Also the B_PRI* and B_SCN* macros are available unconditionally,
  unlike the <inttypes.h> macros, which require __STDC_FORMAT_MACROS to be
  defined in C++ mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 19:44:07 +00:00
Ingo Weinhold
a85cf9d793 * configure: Pass gcc's host machine string to the jam build system.
* BuildSetup: Set jam variable HOST_PLATFORM_IS_64_BIT and add host define
  HAIKU_HOST_PLATFORM_64_BIT if the host platform is 64 bit. Removed the
  check from BeOSBuildCompatibility.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 18:57:49 +00:00
Ingo Weinhold
60d8d8fcc5 * Added -j<n> option to configure. It is passed to the
build_cross_tools[_gcc4] script which in turn passes it to make. Cores and
  hyperthreads are plentiful these days; no need to let most of them idle when
  building the cross tools.
* Sorted the configure options alphabetically again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-23 19:34:55 +00:00
Scott McCreary
964a28d1ec Updated cmake to release 2.8.0 and libtool to 2.2.6b
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 09:05:46 +00:00
Ingo Weinhold
9d14ecca03 Build package and packagefs with -Werror.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-15 23:22:27 +00:00
Axel Dörfler
d0f7736d3a * Moved spell check files to /system/data/spell_check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 16:29:47 +00:00
Axel Dörfler
492dd892ce * Removed /system/etc directory.
* /etc now points to /boot/common/etc/, and the remaining contents of the former
  "etc" are put there now, as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:26:42 +00:00
Axel Dörfler
3734adc5b3 * Build fix of the timezone/keymap move. Sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:21:27 +00:00
Axel Dörfler
3578c56a15 * Moved timezone and keymap source files to the correct place in the repository.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:48:56 +00:00
Axel Dörfler
f9a80fec95 * LocaleRoster.h was not self-containing.
* Moved the locale stuff to the data directory as well (some parts were in /etc).
* The DefaultCatalog will now also scan the user directory for catalogs.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:44:22 +00:00
Axel Dörfler
c6106a595d * Fixed bug in "fortune" that would let it crash if you'd point it to an empty
directory.
* Moved fortune files to "data/system/data" in the repository, and /system/data/
  in the file system.
* Got teapot.data location wrong in the repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 13:09:32 +00:00
Axel Dörfler
0491552bc3 * Moved the "fonts" directory into the "data" directory.
* Moved fonts to where they belong.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 12:30:06 +00:00
Axel Dörfler
126fd25b7a * Moved teapod.data from /etc to B_SYSTEM_DATA_DIRECTORY.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 11:08:14 +00:00
Scott McCreary
dd346d1228 Updated openssl to 0.9.8l.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 16:45:00 +00:00
Axel Dörfler
66570f5d3b * Replaced "Mark As New" with a "Mark As…" Tracker add-on that let you choose
among all defined status.
* Note, until bug #4851 is solved, the list Mail shows might differ from the
  one "Mark As…" shows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 13:17:47 +00:00
Axel Dörfler
6242fd5977 * Added the possibility to debug latency issues with spinlocks.
* When DEBUG_SPINLOCK_LATENCIES is 1, the system will panic if any spinlock is
  held longer than DEBUG_LATENCY micro seconds (currently 200). If your system
  doesn't boot anymore, a new safemode setting can disable the panic.
* Besides some problems during boot when the MTRRs are set up, 200 usecs work
  fine here if all debug output is turned off (the output stuff is definitely
  problematic, though I don't have a good idea on how to improve upon it a lot).
* Renamed the formerly BeOS compatible safemode settings to look better; there
  is no need to be compatible there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-08 20:26:48 +00:00
Fredrik Modeen
17d16e0e61 The last commit in this serie, I have a datafile shoul I unclude that in some way?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-30 21:42:18 +00:00
Scott McCreary
ae3eeac13b Updated build of python-2.6.4 to include patch from Chris Roberts which fixed zlib support. This fixes HaikuPorts ticket #239
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-28 14:07:36 +00:00
Scott McCreary
145eef6021 Added CMake as an Optional Package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-28 02:26:36 +00:00