Commit graph

14 commits

Author SHA1 Message Date
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
ahoka
41b0ef3e8e Add conflict with libsigsegv25. 2008-09-12 22:14:11 +00:00
wiz
583efeb690 Update to 2.6:
New in 2.6:

* sigsegv_leave_handler is changed. Previously it was a normal function with
  no arguments. Now it is a function that take a non-returning continuation
  function and three arguments for it as arguments.
  Where you had code like
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       sigsegv_leave_handler();
       ...code_after()...;
       longjmp(...);
     }
  you now have to write
     void my_handler_tail(void* arg1, void* arg2, void* arg3)
     {
       ...code_after()...;
       longjmp(...);
     }
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       #if LIBSIGSEGV_VERSION >= 0x0206
       return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
       #else
       sigsegv_leave_handler();
       my_handler_tail(arg, NULL, NULL);
       /* NOTREACHED */
       abort();
       #endif
     }
* sigsegv_leave_handler now works correctly on MacOS X.
* Support for 64-bit ABI on MacOS X 10.5.
* Support for building universal binaries on MacOS X.
* Improved distinction between stack overflow and other fault on NetBSD,
  OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
* GNU gnulib now has an autoconf macro for locating libsigsegv:
  http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv
2008-09-06 13:52:29 +00:00
wiz
309fbd8063 Fix false positives in determining stack overflow when using mincore.
Using patch from Eric Blake that got committed upstream.
http://lists.gnu.org/archive/html/bug-gnulib/2008-07/msg00073.html

Bump PKGREVISION.
2008-08-23 15:56:28 +00:00
joerg
e7c5232330 Supports DESTDIR. 2008-01-07 18:15:27 +00:00
rillig
3ebae1687e Updated libsigsegv to 2.5, as requested in PR 37440.
New in 2.5:

* Support for MacOS X 10.5.
2007-11-29 18:25:22 +00:00
joerg
4e5b6b834a libsigsegv *is* a full dependency at least on DragonFly and FreeBSD.
Bump clisp for the changed dependency.
2006-12-29 13:54:22 +00:00
joerg
8e53f9d1da - USE_LIBTOOL=yes
- On DragonFly, the stack overflow handling should follow the logic
  of FreeBSD, similiar the address space scanning. This is now needed
  for lang/clisp. Since the installed version differs, bump revision.
2006-07-24 13:39:26 +00:00
perry
8909446080 Update to 2.4 -- needed to fix bugs that would otherwise bite clisp.
from the NEWS file:

New in 2.4:

* Support for GCC 4 on more platforms.
* Added support for catching stack overflow on NetBSD.
* Improved support for catching stack overflow on Linux, Solaris:
  Works also when /proc is not mounted or lacks read permissions.

New in 2.3:

* Support for GCC 4 on some platforms contributed by Paolo Bonzini.
* Support for MacOS X i386 contributed by Bruno Haible.
* Improved support for Woe32 contributed by Doug Currie.
2006-07-20 23:12:20 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
wiz
34c0cffb92 Fix path to itself. 2006-03-11 22:03:52 +00:00
wiz
9564b30fdb Initial import of libsigsegv-2.2 from pkgsrc-wip, packaged by
Martijn van Buul.

GNU libsigsegv is a library for handling page faults in user mode. A page
fault occurs when a program tries to access a region of memory that is
currently unavailable. Catching and handling a page fault is a useful
technique for implementing:

* Pageable virtual memory
* Memory-mapped access to persistent databases
* Generational garbage collectors
* Stack overflow handlers
* Distributed shared memory
2006-03-11 22:00:01 +00:00