2012-03-29 15:22:07 by Thomas Klausner | Files touched by this commit (3) |
Log message:
Fix build with clang-3.1.
|
2012-03-07 15:54:44 by Thomas Klausner | Files touched by this commit (3) |
Log message:
Update to 3.01a07:
All:
- The file COPYING has been reworded to be more obvious with
explaining work limits.
- A workaround for a bug in llvm-gcc-4.2 has been introduced in
inc/avoffset.c. The llvm-gcc-4.2 bug caused an endless loop at an
unexpected place.
- New target "htmlxn" to only rebuild html versions of man pages
only in case there was a change
- The CSW packaging definitions in the schily makefilesystem was
enhanced to permit referencing files in the package definition directory
- include/schily/sigset.h added new macros: blocked_sigs(),
block_sigs()
- include/schily/fcntl.h now includes O_SEARCH for POSIX.1-2008 compliance.
- Schily autoconf now tests for the size of mode_t, uid_t, gid_t, pid_t,
dev_t, major_t, minor_t
- Schily autoconf now defines a promoted type for mode_t that can be
used together with varargs. This is needed as mode_t is smaller than
int on some systems.
- New autoconf tests for getdelim() and strncasecmp()
- Added a workaround for a auto-dependency creation bug in the HP-UX
c-compiler that resulted in wrong dependency files for all files
in libshcily/stdio/ and for these files prevented an automated
recompilation in case that an include file was changed.
- Added links for:
amd64-freebsd-cc.rul
amd64-freebsd-gcc.rul
amd64-openbsd-cc.rul
amd64-openbsd-gcc.rul
x86_64-darwin-cc.rul
x86_64-darwin-gcc.rul
x86_64-darwin-cc64.rul
x86_64-darwin-gcc64.rul
x86_64-darwin-cc32.rul
x86_64-darwin-gcc32.rul
- RULES/rules.loc now makes $(PTARGET) to depend on $(ARCHDIR) to
support make -j 2
- New include files include/schily/inttypes.h and include/schily/stdint.h
- The script conf/makeinc is no longer confused by OpenBSD
that has man.7 and mandoc.7 and both match on man*
Libschily:
- New functions strstr() and wcsstr()
- New libschily::fgetaline() and libschily::getaline() implement the
functionality of the POSIX violating "getline()" from POSIX.1-2008.
- New file libschily/abspath.c
- New file libschily/resolvepath.c
- New file libschily/mkdirs.c
- An openat() emulation was added to libschily for platforms that
miss openat().
- An fchdir() emulation was added to libschily for platforms that
miss fchdir()
- libschily/at-defs.h new support file for internals from the *at()
emulation
- libschily/lxchdir.c new file to support chdir() to long
path names
- libschily/procnameat.c new file to support *at() functions in case
that a newer /proc file system implementation is available
- libschily/savewd.c new file to support to save the current working
directory regardless of whether fchdir() is present or not.
- libschily/wdabort.c new file with abort functions that are needed
in libschily for the case that no system fchdir is available and
an attempt to emulate *at() functions fails
- New functions strcasecmp() and strncasecmp() for libschily.
- New functions diropen() dirrdopen() dirclose() for libschily.
These functions are needed in order to emulate fchdir() on platforms
that do not support fchdir().
- file_raise(NULL, FALSE) now also affects files that have been
opened before the file_raise() call.
Libdeflt:
- The function defltcntl() in libdeflt is now working and allows to
select a case insensitive mode.
- New function defltsect() in libdeflt allows to create sub-sections
in configuration files. These subsections need to be named:
"[section-name]" and the '[' must be at the beginning of a line.
Libfind:
- libfind/walk.c now uses O_SEARCH to open directories
Cdrecord:
- cdrecord man page corrected some small typos in the EXAMPLES section.
- cdrecord has been converted to be able to run completely root-less
and suid-root-less and with no script that calls pfexec(1). This
works on OpenSolaris ONNV_140 or later because the functionality
of pfexec(1) has been integrated into the kernel.
To enable this feature. edit the file /etc/security/exec_attr and add:
Basic Solaris \
User:solaris:cmd:::/usr/bin/cdrecord:privs=file_dac_read,sys_devices,proc_lock_m \
emory,proc_priocntl,net_privaddr
or
Basic Solaris \
User:solaris:cmd:::/opt/schily/bin/cdrecord:privs=file_dac_read,sys_devices,proc \
_lock_memory,proc_priocntl,net_privaddr
depending on where you install cdrecord.
No special shell is needed anymore.
Cdda2wav (Maintained/enhanced by J
- cdda2wav has been converted to be able to run completely root-less
and suid-root-less and with no script that calls pfexec(1). This
works on OpenSolaris ONNV_140 or later because the functionality
of pfexec(1) has been integrated into the kernel.
To enable this feature. edit the file /etc/security/exec_attr and add:
Basic Solaris \
User:solaris:cmd:::/usr/bin/cdda2wav:privs=file_dac_read,sys_devices,proc_priocn \
tl,net_privaddr
or
Basic Solaris \
User:solaris:cmd:::/opt/schily/bin/cdda2wav:privs=file_dac_read,sys_devices,proc \
_priocntl,net_privaddr
depending on where you install cdda2wav.
No special shell is needed anymore.
Readcd:
- readcd has been converted to be able to run completely root-less
and suid-root-less and with no script that calls pfexec(1). This
works on OpenSolaris ONNV_140 or later because the functionality
of pfexec(1) has been integrated into the kernel.
To enable this feature. edit the file /etc/security/exec_attr and add:
Basic Solaris \
User:solaris:cmd:::/usr/bin/readcd:privs=file_dac_read,sys_devices,net_privaddr
or
Basic Solaris \
User:solaris:cmd:::/opt/schily/bin/readcd:privs=file_dac_read,sys_devices,net_pr \
ivaddr
depending on where you install readcd.
No special shell is needed anymore.
|
2012-01-01 05:03:33 by Steven Drake | Files touched by this commit (3) |
Log message:
Fix a race condition by making a targets directory a dependence of the target.
This should make the package MAKE_JOBS safe again.
|
2011-12-26 07:25:04 by Steven Drake | Files touched by this commit (1) |
Log message:
Not MAKE_JOBS safe
|
2011-10-10 15:54:47 by Thomas Klausner | Files touched by this commit (2) | |
Log message:
Update to 3.01a06:
All:
- A new rule RULES/profiled.lnk allows to call:
smake COPTX=-pg LDOPTX=-pg LINKMODE=profiled
to create binaries that use gprof.
- The Makefile System is now able to switch gmake-3.82 into a more POSIX
compliant mode to tell the shell to report problems back to gmake.
- New autocof tests on whether printf supoorts %lld and %jd
- Fixed the vc9-setup files to make VC9 work.
- Newer Cygwin "tail" versions do no longer support UNIX syntax.
change tail +2 to tail -n +2 in RULES/cc-mcs.rul to allow to use
the Microsoft compiler again
- A new environment variable MKLINKS_COPY allows to tell all
MKLINS scripts to generate file copies rather than symlinks.
Call:
MKLINKS_COPY=true
export MKLINKS_COPY
to enable this feature
- Run an additional test -h command in MKLNKS to verify whether mingw
supports symlinks
- MKLINKS now creates copies instead of symlink when we use MSC
as MSC does not support to read symlinks files
- Fixed a typo in include/schily/libport.h (group functions have been
defined to return struct passwd* instead of struct group*
- Fixed wrong bracketing for C++ in include/schily/stdlib.h
- Fixed wrong bracketing for C++ in include/schily/utypes.h
- Added a workaround for MSC to include/schily/utypes.h
MSC believes that a 32 bit int and a 32 bit long are incompatible
and cannot even be casted, so we need to make uint32_t a n unsigned long
- Let include/schily/archdefs.h define the standard processor #defines
when compiling with MSC.
- New include file include/schily/windows.h works around the oddities
from the MSC include file windows.h
- include/schily/stdio.h now defines popen()/pclose() to _popen()/_pclose()
if on WIN-DOS
- include/schily/limits.h now defines PIPE_BUF
- include/schily/utsname.h now defines struct utsname for our MSC uname()
emulation.
- The setup for the PATHs needed by Visual Studio 9 has been
corrected.
- autoconf has been modified to avoid optimizing away code that
is intended for testing. This help to work against a problem
with detecting mbrtowc() on MinGW
- autoconf now tests for mbtowc() and wctomb()
- RULES/i*86-mingw32_nt-gcc.rul now link against -lmingw32 instead
of -lmgw32.
- include/schily/stat.h now defines S_IREAD/S_IWRITE/S_IEXEC
These macros are available on typical UNIX systems but not
on Android. The definition comes from UNIX V7 and is not in
POSIX. Needed by SCCS and the Bourne Shell
- include/schily/wait.h now defines WIFCONTINUED() if needed
- include/schily/wchar.h now defines mbtowc() to mbrtowc() if
needed (e.g. on Android)
- include/schily/ccomdefs.h now correctly knows about the GCC
release that introduced __attribute__ (used).
- Android is not POSIX (by not defining various functions as functions
in libc as required by POSIX) because it tries to define many
functions that are part of the standard as inline macros in
include files only. This breaks autoconf, so we needed to rewrite
some tests (e.g for getpagesize, tcgetpgrp, tcsetpgrp)
- The Schily autoconf system has been enhanced to support cross
compilation. Schily autoconf is based on GNU autoconf and
GNU autoconf does not support cross compilation because it needs
to run scripts on the target system for some of the tests.
The "configure" script that is delivered with the Schily makefile
system runs 718 tests and 68 of them need to be run on the target
system.
The Schily autoconf system now supports a method to run these 65
tests natively on a target system. You either need a machine with
remote login features or you need an emulator with a method to
copy files into the emulated system and to run binaries on the
emulated system as e.g. the Android emulator.
We currently deliver three scripts for "remote" execution of
programs on the target system:
runrmt_ssh runs the commands remove via ssh
runrmt_rsh runs the commands remove via rsh
runrmt_android runs the commands remove via the debug bridge
If you need to remotely run programs on a system that is not
supported by one of there three scripts, you need to modify one
of them to match your needs.
To enable Cross Compilation use the following environment variables:
CONFIG_RMTCALL= Set up to point to a script that does
the remote execution, e.g.:
CONFIG_RMTCALL=`pwd`/conf/runrmt_ssh
CONFIG_RMTHOST= Set up to point to your remote host, e.g.:
CONFIG_RMTHOST=hostname
or
CONFIG_RMTHOST=user@hostname
use a dummy if you like to use something
like to the Android emulator.
CONFIG_RMTDEBUG= Set to something non-null in order to
let the remote execution script mark
remote comands. This will result in
configure messages like:
checking bits in minor device number... REMOTE 8
Note that smake includes automake features that automatically
retrieve system ID information. For this reason, you need to overwrite
related macros from the command line if you like to do a
cross compilation.
Related make macros:
K_ARCH= # (sun4v) Kernel ARCH filled from uname -m / arch -k
M_ARCH= # (sun4) Machine filled from arch
P_ARCH= # (sparc) CPU ARCH filled from uname -p / mach
OSNAME= # sunos, linux, ....
OSREL= # 5.11
OSVERSION= # snv_130
CCOM= # generic compiler name (e.g. "gcc")
CC_COM= # compiler to call (name + basic args)
ARCH= overwrites M_ARCH and P_ARCH
It is usually suffucient to set ARCH and OSNAME.
In order to use a cross compiler environment instead of a native compiler,
set the make macro CC_COM to something different than "cc".
If you are on Linux and like to compile for Android, do the following:
1) set up CC acording to the instructions from the cross compiler
tool chain
2) set environment variables CONFIG_RMTCALL / CONFIG_RMTHOST, e.g.:
setenv CONFIG_RMTCALL `pwd`/conf/runrmt_android
setenv CONFIG_RMTHOST NONE
3) call smake:
smake ARCH=armv5 OSNAME=linux CCOM=gcc "CC_COM=$CC"
- Several programs no longer test for HAVE_DEV_* but for HAVE__DEV_*
as we did switch from hand written tests for /dev/tty, /dev/null
and similar to AC_CHECK_FILES(/dev/tty /dev/null /dev/zero)
- The Makefile system now links dynamic libraries on Mac OS X against
libgcc_s.1 instead of libgcc.
Libschily:
- New function permtostr() in libschily allows to convert a
mode_t like stat.st_mode into a chmod compliant string like:
u=rw,g=r,o=r
that is accepted by libschily::getperm() to allow a conversion
back to a mode_t variable.
- libschily::rename() now uses mktemp() to temorarily save the
rename target file.
- comerr() now maps exit codes that would fold to '0' to EX_CLASH
which is -64
- New functions zerobytes() and cmpmbytes() added to libschily.
- New functions strstr() and wcsstr() added to libschily.
- libschily/fexec.c moved the workaround against the Mac OS X linker
for "environ" upwards to cover the new code also.
- Fixed libschily/gettimeofday.c to compile with MSC
- Fixed libschily/sleep.c to compile with MSC
- Fixed libschily/usleep.c to be empty with MSC as sleep.c includes
a working usleep()
- libschily/gethostname.c enhanced to support Win-DOS with cl.exe
- libschily/uname.c New function to support Win-DOS with cl.exe
- libschily/dirent.c New functions: opendir()/closedir()/readdir()
to support Win-DOS with cl.exe
- libschily/kill.c New function to support Win-DOS with cl.exe
- libschily/stdio/fgetline.c 64 bit speedup by calling fgets() in
case that getc() is not a macro.
- libschily/stdio/fgetstr.c 64 bit speedup by calling fgets() in
case that getc() is not a macro.
- libschily/chown.c new to support Win-DOS with cl.exe
Libfind:
- libfind/find.c disables -exec in case there is no fork().
This is in order to support MINGW
Libscg:
- libscg::scsi-aix.c was updated with some experimental code to support
two new SCSI kernel interfaces on AIX.
- Allow to disable the SCSI low level transport adoption layer
from libscg by adding -DNO_SCSI_IMPL
- libscg/scsihack.c now supports the MSC compiler
- Several small changes to work around oddoties fount in MS include files
- Trying to better support AIX again.
Cdrecord:
- Several changes to support mingw and MSC
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko \
EiÃfeldt heiko@hexco.de):
- Several changes to support mingw and MSC
Readcd:
- Better algorithm for -edc-corr
Scgcheck:
- Several changes to support mingw and MSC
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric \
Youngdale):
- The mkisofs diagnostic tools now support MSC that does not support
POSIX terminal handling.
|
2011-08-26 15:39:55 by Aleksey Cheusov | Files touched by this commit (1) |
Log message:
Fix build failure on Solaris-10 with gcc. PR 45287.
|
2011-08-04 13:40:50 by Joerg Sonnenberger | Files touched by this commit (2) |
Log message:
Disable stack scan for clang. It fails miserable and I can't figure out
what this $%^&$%^& is supposed to do.
|
2011-07-12 15:32:25 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.01a05:
All:
- The makefile system now by default disables smake Simple Suffix Rules
and the POSIX Suffix Rules in order to speed up inference rule search.
Libschily:
- New functions mkgmtime() mklgmtime() and timegm()
Libfind:
- libfind no longer aborts with a lack of memory but writes an error
message
- libfind now correctly frees memory that has been allocated internaly
from treewalk()
Mkisofs (Maintained/enhanced by J
- Mkisofs now correctly supports El Torito multi boot entries by introducing
a Boot Dection Header before a list of alternate boot entries.
- New option -eltorito-platform allows to set the El Torito platform id
for a boot entry or for a list of boot entries. Supported values for the
parameter are:
- x86 the standard value vor x86 based PCs
- PPC the Power PC platform
- Mac The Apple Mac platform
- efi EFI based boot for PCs
- # an arbitrary numerical value
- New option -modification-date allows to specify a predictable UUID for grub.
The syntax is: YYYY[MM[DD[HH[MM[SS]]]]][.hh][+-GHGM] and is forgiving
enought to accept the pupular POSIX date format created by:
date "+%Y-%m-%d %H:%M:%S %z"
|
2011-05-02 15:15:11 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.01a04:
Libfind:
- New flag WALK_STRIPLDOT to strip leading "./" like star does
Cdrecord:
- cdrecord now warns about the correct max. CD-Text size
for a single language that is permitted by the standard.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric \
Youngdale):
- Fixed several typos in the mkisofs man page and in mkisofs
|
2011-03-12 15:23:57 by Thomas Klausner | Files touched by this commit (2) |
Log message:
Update to 3.01a03:
Libscg:
- libscg/scsi-bsd.c tries to better support the SCSI sense data
length in the recently upgrades in FreeBSDs ATAPI/CAM module.
- try to keep SCSI status and error codes when doing a manual GET SENSE
on AIX, UnixWare, VMS, Linux Parallel Port, Apollo Domain
Cdrecord:
- cdrecord now warns and aborts if someone tries to write more CD-Text
for a single language than permitted by the standard.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko \
EiÃfeldt heiko@hexco.de):
- many typo fixes to the cdda2wav.1 man page, thanks to John Bradshaw
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric \
Youngdale):
- Add several forgotten options to the mkisofs man page.
|