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.
cc65 is a complete cross development package for 65(C)02 systems, including
a powerful macro assembler, a C compiler, linker, librarian and several
other tools.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
Significant enhancements in this version are:
o Support for JTAGICE MkII device
o New devices supported:
- AT90CAN128 ...
o Support for STK500 Version 2 Protocol
(the latter being the principal reason for the update, as the recent
firmware on the STK500 development boards requires protocol version 2)
Changes in 2.17:
* Add "-x NAME" to readelf in addition to "-x NUMBER".
* Add -i and -t switches to cxxfilt. -i disables the display of implementation
specific extra demangling information (if any) and -t disables the demangling
of types.
* Add support for the "@<file>" syntax to the command lines of all tools, so
that extra switches can be read from <file>.
* Add "-W/--dwarf" to objdump to display the contents of the DWARF
debug sections.
* Add "-t/--section-details" to readelf to display section details.
"-N/--full-section-name" is deprecated.
* powerpc-linux ld now supports a variant form of PLT and GOT for the security
conscious. This form will automatically be chosen when ld detects that all
code in regular object files was generated by gcc -msecure-plt. The old PLT
and GOT may be forced by a new ld option, --bss-plt.
* Add "-i/--inlines" to addr2line to print enclosing scope information
for inlined function chains, back to first non-inlined function.
* Add "-N/--full-section-name" to readelf to display full section name.
* Add "-M entry:<addr>" switch to objdump to specify a function entry address
when disassembling VAX binaries.
* Add "--globalize-symbol <name>" and "--globalize-symbols <filename>" switches
to objcopy to convert local symbols into global symbols.
Changes in 2.16:
* Add "-g/--section-groups" to readelf to display section groups.
* objcopy recognizes two new options --strip-unneeded-symbol and
--strip-unneeded-symbols, namely for use together with the wildcard
matching the original --strip-symbol/--strip-symbols provided, but
retaining any symbols matching but needed by relocations.
* readelf can now display address ranges from .debug_range sections. This
happens automatically when a DW_AT_range attribute is encountered. The
command line switch --debug-dump=Ranges (or -wR) can also be used to display
the contents of the .debug_range section.
* nm and objdump now have a switch "--special-syms" to enable the displaying of
symbols which the target considers to be special. By default these symbols
are no longer displayed. Currently the only special symbols are the Mapping
symbols used by the ARM port to mark transitions between text and data and
between ARM and THUMB code.
* dlltool has a switch "--ext-prefix-alias <prefix>" to generate additional
import and export symbols with <preifx> prepended to them.
since they always need a C compiler, even when the source code is
completely in C++.
For some other packages, stated in the comment that a C compiler is
really not needed.
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
it will live with other "check" targets run after package installation.
Get rid of SHLIB_HANDLING, whose meaning had mutated over the years
from one thing to another. Currently, it is used to basically note
whether the system's "ldd" command can be usefully run on the package's
binaries and libraries. Rename this variable to CHECK_SHLIBS_SUPPORTED
for more clarity.
CHECK_SHLIBS is now a variable set exclusively by the user in /etc/mk.conf
to note whether the check for missing run-time search paths is performed
after a package is installed. It defaults to "no" unless PKG_DEVELOPER
is set.
PKGLOCALEDIR and which install their locale files directly under
${PREFIX}/${PKGLOCALEDIR} and sort the PLIST file entries. From now
on, pkgsrc/mk/plist/plist-locale.awk will automatically handle
transforming the PLIST to refer to the correct locale directory.
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).
and replace with appropriate references to PKGINFODIR instead.
* Properly account for split info files during installation.
* Move info file listings directly into the package PLISTs.
This fixes info-file-related PLIST problems.
makeinfo if no native makeinfo executable exists. Honor TEXINFO_REQD
when determining whether the native makeinfo can be used.
* Remove USE_MAKEINFO and replace it with USE_TOOLS+=makeinfo.
* Get rid of all the "split" argument deduction for makeinfo since
the PLIST module already handles varying numbers of split info files
correctly.
NOTE: Platforms that have "makeinfo" in the base system should check
that the makeinfo entries of pkgsrc/mk/tools.${OPSYS}.mk are
correct.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
It is more consistent with the tex.buildlink3.mk name. Also, if a package
really needs latex, it just has to set TEX_ACCEPTED to latex distributions
altough today, all TEX_ACCEPTED possibilities are latex distributions
avr-libc-1.2.5 is the 5th bugfix release after 1.2.
The following list shortly summarizes the changes in version 1.2.0 compared
to version 1.0.5 of AVR Libc, which was the latest release from the 1.0
release line by the time 1.2.0 was released.
* Removal of all items marked as deprecated in the past, namely:
o all header files from the base include directory, as they have
been moved to the avr/ subdirectory long time ago (e.g. <io.h>
is now <avr/io.h>),
o deprecated macros and functions (sbi, cbi, inb, outb, inp, outp,
inw, outw, BV, PRG_RDB, eeprom_rb, eeprom_rw, eeprom_wb)
o <avr/timer.h> removed completely, as it was bogus and not really
useful at all
* <avr/ina90.h> and <avr/twi.h> have been moved to the new <compat/...>
include subdirectory,
* The following new devices are supported:
o ATmega165
o ATmega325
o ATmega3250
o ATmega645
o ATmega6450
o ATmega48
o ATmega88
o ATmega168
o ATtiny13
o ATtiny2313
o AT90CAN128
* realloc() is now implemented,
* the boot API has been changed in a way that is incompatible with the
1.0 API,
* the delay API has two new functions added to allow the specification of
delays directly in microseconds, or milliseconds,
* documentation changes: a newer version of Doxygen is used; Unix-style
manual pages are now generated as part of the documentation; a helper
script named avr-man can be used to display these manual pages,
* a single unified Copyright now applies to all files in AVR Libc.
around at either build-time or at run-time is:
USE_TOOLS+= perl # build-time
USE_TOOLS+= perl:run # run-time
Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
USE_TOOLS and any of "autoconf", "autoconf213", "automake" or
"automake14". Also, we don't need to call the auto* tools via
${ACLOCAL}, ${AUTOCONF}, etc., since the tools framework takes care
to symlink the correct tool to the correct name, so we can just use
aclocal, autoconf, etc.
in PR pkg/19899 and modified by me.
DASM is a highly evolved cross-assembler for 6502, 6803 and 68HC11
processors. It is very popular for hacking/cross-developing on old
6502-based video game systems from Atari, Nintendo, etc. DASM
processes output from the Distella Atari ROM disassembler without
modification.
as it's only used internally by bsd.prefs.mk.
* Make _PKGSRCDIR a public variable by renaming it to PKGSRCDIR.
Also, generate its value from ${_PKGSRC_TOPDIR} so it's less fragile
than the old method of stripping off the last two components of
${.CURDIR}. PKGSRCDIR may now be used after bsd.prefs.mk is defined.
* Change all references to _PKGSRCDIR to PKGSRCDIR.
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
which are the full option names used to set rpath directives for the
linker and the compiler, respectively. In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath. The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use. They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively. Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.