head	1.2;
access;
symbols
	netbsd-11-0-RELEASE:1.2
	netbsd-11-0-RC7:1.2
	netbsd-11-0-RC6:1.2
	netbsd-11-0-RC5:1.2
	netbsd-11-0-RC4:1.2
	netbsd-11-0-RC3:1.2
	netbsd-11-0-RC2:1.2
	netbsd-11-0-RC1:1.2
	perseant-exfatfs-base-20250801:1.2
	netbsd-11:1.2.0.2
	netbsd-11-base:1.2
	netbsd-10-1-RELEASE:1.1.4.2
	netbsd-10:1.1.0.4
	perseant-exfatfs-base-20240630:1.1
	perseant-exfatfs:1.1.0.2
	perseant-exfatfs-base:1.1;
locks; strict;
comment	@# @;


1.2
date	2024.09.15.03.56.58;	author tsutsui;	state Exp;
branches;
next	1.1;
commitid	nFlaJvF5aLAm2RpF;

1.1
date	2024.06.08.13.03.41;	author tsutsui;	state Exp;
branches
	1.1.2.1
	1.1.4.1;
next	;
commitid	9uU4nBBlDycUfbdF;

1.1.2.1
date	2025.08.02.05.58.23;	author perseant;	state Exp;
branches;
next	;
commitid	23j6GFaDws3O875G;

1.1.4.1
date	2024.06.08.13.03.41;	author martin;	state dead;
branches;
next	1.1.4.2;
commitid	ukIKIblTxA6ajqgF;

1.1.4.2
date	2024.07.03.18.38.55;	author martin;	state Exp;
branches;
next	;
commitid	ukIKIblTxA6ajqgF;


desc
@@


1.2
log
@Move macppc bootable installcd stuff to sys/arch/macppc/stand dirs.

- move installboot (for CD ISO) and mkboothfs (for mkhybrid(8)) tools to
  sys/arch/macppc/stand
- also build mkboothfs as ${TOOL_MACPPCMKBOOTHFS} in src/tools
- explicitly generate boothfs file (for mkhybrid(8)) in
  sys/arch/macppc/stand/boothfs and install it into /usr/mdec
- use installed /usr/mdec/boothfs to create macppc bootable iso
- move list files for mkhybrid(8) hfs options to etc/etc.macppc
@
text
@#	$NetBSD: Makefile,v 1.1 2024/06/08 13:03:41 tsutsui Exp $

.include <bsd.hostinit.mk>

HOSTPROGNAME=	${_TOOL_PREFIX}macppc_installboot
HOST_SRCDIR=	sys/arch/macppc/stand/installboot

.include "${.CURDIR}/../Makefile.nbincludes"
.include "${.CURDIR}/../Makefile.host"
@


1.1
log
@Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.

Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
@
text
@d1 1
a1 1
#	$NetBSD$
d6 1
a6 1
HOST_SRCDIR=	distrib/cdrom/macppc_installboot
@


1.1.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile,v 1.2 2024/09/15 03:56:58 tsutsui Exp $
d6 1
a6 1
HOST_SRCDIR=	sys/arch/macppc/stand/installboot
@


1.1.4.1
log
@file Makefile was added on branch netbsd-10 on 2024-07-03 18:38:55 +0000
@
text
@d1 9
@


1.1.4.2
log
@Pull up following revision(s) (requested by tsutsui in ticket #733):

	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6
	distrib/cdrom/Makefile: revision 1.55
	distrib/cdrom/macppc_installboot/Makefile: revision 1.12
	external/gpl2/mkhybrid/dist/getopt.c: revision 1.2
	external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1
	external/gpl2/mkhybrid/dist/write.c: revision 1.1
	distrib/cdrom/Makefile: revision 1.56
	distrib/cdrom/macppc_installboot/Makefile: revision 1.13
	distrib/cdrom/macppc_installboot/installboot.c: revision 1.6
	external/gpl2/mkhybrid/dist/getopt.c: revision 1.3
	external/gpl2/mkhybrid/dist/write.c: revision 1.2
	external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1
	distrib/cdrom/Makefile: revision 1.57
	distrib/cdrom/macppc_installboot/Makefile: revision 1.14
	distrib/cdrom/macppc_installboot/installboot.c: revision 1.7
	tools/Makefile: revision 1.221
	tools/Makefile: revision 1.222
	external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1
	distrib/macppc/Makefile: revision 1.18
	external/gpl2/mkhybrid/dist/TODO: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1
	external/gpl2/mkhybrid/dist/match.c: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1
	external/gpl2/mkhybrid/dist/match.c: revision 1.2
	external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2
	external/gpl2/mkhybrid/dist/volume.c: revision 1.1
	external/gpl2/mkhybrid/dist/volume.c: revision 1.2
	external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1
	external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1
	external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2
	external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3
	external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1
	tools/mkhybrid/Makefile: revision 1.1
	external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1
	external/gpl2/mkhybrid/dist/apple.h: revision 1.1
	external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1
	external/gpl2/mkhybrid/dist/apple.h: revision 1.2
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1
	external/gpl2/mkhybrid/dist/desktop.c: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2
	external/gpl2/mkhybrid/dist/desktop.c: revision 1.2
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4
	external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5
	external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6
	external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3
	external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7
	external/gpl2/mkhybrid/dist/getopt.h: revision 1.1
	distrib/cdrom/macppc_installboot/installboot.h: revision 1.5
	etc/etc.mac68k/Makefile.inc: revision 1.25
	external/gpl2/mkhybrid/dist/getopt.h: revision 1.2
	external/gpl2/mkhybrid/dist/write.h: revision 1.1
	etc/etc.mac68k/Makefile.inc: revision 1.26
	external/gpl2/mkhybrid/dist/rock.c: revision 1.1
	external/gpl2/mkhybrid/dist/hash.c: revision 1.1
	external/gpl2/mkhybrid/dist/hash.c: revision 1.2
	external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1
	external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1
	external/gpl2/mkhybrid/dist/README: revision 1.1
	external/gpl2/mkhybrid/dist/README.win32: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2
	external/gpl2/mkhybrid/dist/config.h.in: revision 1.1
	external/gpl2/mkhybrid/dist/config.h.in: revision 1.2
	distrib/cdrom/boothfs.uue: revision 1.2
	external/gpl2/mkhybrid/dist/config.h.in: revision 1.3
	external/gpl2/mkhybrid/dist/volume.h: revision 1.1
	external/gpl2/mkhybrid/dist/volume.h: revision 1.2
	external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2
	external/gpl2/mkhybrid/dist/mapping: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1
	external/gpl2/mkhybrid/bin/Makefile: revision 1.1
	external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1
	external/gpl2/mkhybrid/bin/Makefile: revision 1.2
	external/gpl2/mkhybrid/dist/magic: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1
	external/gpl2/mkhybrid/bin/Makefile: revision 1.3
	external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1
	external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1
	share/mk/bsd.own.mk: revision 1.1375
	share/mk/bsd.own.mk: revision 1.1376
	external/gpl2/mkhybrid/dist/README.session: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2
	tools/macppc_installboot/Makefile: revision 1.1
	external/gpl2/mkhybrid/README.md: revision 1.1
	etc/etc.macppc/Makefile.inc: revision 1.13
	external/gpl2/mkhybrid/dist/defaults.h: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1
	external/gpl2/mkhybrid/dist/defaults.h: revision 1.2
	external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1
	external/gpl2/mkhybrid/dist/defaults.h: revision 1.3
	external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1
	external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2
	external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1
	external/gpl2/mkhybrid/dist/COPYING: revision 1.1
	external/gpl2/mkhybrid/dist/name.c: revision 1.1
	external/gpl2/mkhybrid/dist/configure.in: revision 1.1
	external/gpl2/mkhybrid/dist/configure.in: revision 1.2
	external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1
	external/gpl2/mkhybrid/dist/configure.in: revision 1.3
	external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1
	distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4
	external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1
	distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5
	external/gpl2/mkhybrid/dist/config.h: revision 1.1
	external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2
	distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6
	external/gpl2/mkhybrid/dist/config.h: revision 1.2
	external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1
	external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1
	external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1
	external/gpl2/mkhybrid/dist/libfile/README: revision 1.1
	external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1
	external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1
	external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1
	external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2
	external/gpl2/mkhybrid/dist/multi.c: revision 1.1
	external/gpl2/mkhybrid/dist/match.h: revision 1.1
	external/gpl2/mkhybrid/dist/match.h: revision 1.2
	external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1
	external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1
	external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2
	external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1
	external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2
	external/gpl2/mkhybrid/dist/configure: revision 1.1
	external/gpl2/mkhybrid/dist/configure: revision 1.2
	external/gpl2/mkhybrid/dist/install-sh: revision 1.1
	external/gpl2/mkhybrid/dist/configure: revision 1.3
	distrib/cdrom/macppc_installboot/cd9660.c: file removal
	external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1
	external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1
	external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1
	external/gpl2/mkhybrid/dist/joliet.c: revision 1.1
	external/gpl2/mkhybrid/dist/apple.c: revision 1.1
	external/gpl2/mkhybrid/dist/apple.c: revision 1.2
	external/gpl2/mkhybrid/dist/apple.c: revision 1.3
	etc/Makefile: revision 1.471
	external/gpl2/mkhybrid/dist/apple.c: revision 1.4
	external/gpl2/mkhybrid/dist/tree.c: revision 1.1
	etc/Makefile: revision 1.472
	external/gpl2/mkhybrid/dist/tree.c: revision 1.2
	external/gpl2/mkhybrid/dist/tree.c: revision 1.3
	external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1
	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2
	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3
	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4
	external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5
	distrib/cdrom/Makefile: revision 1.54
	external/gpl2/mkhybrid/dist/getopt.c: revision 1.1

Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k:
https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html

Creating Type&Creator mappings for .bin (macbinary encoded) files,
mkisofs changes files, then turns around and complains they have been
changed.
This is a self-inflicted wound, so demote the error to a warning.
This looks to make macppccd builds with cdrtools-3.02a10.
Sync with src/usr.sbin/installboot/cd9660.c:
- include now properly updated cd9660_extern.h for function prototypes
  and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)
Use native cd9660 blocksize to specify block numbers in cd9660.c.
This reduces diffs from src/usr.sbin/installboot/cd9660.c.
Also explicitly call cd9660_match() to get fstype->blocksize properly.
Pull sharable src/usr.sbin/installboot/cd9660.c.
Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images.
- files in libfile except proto.h prepared by OpenBSD are not imported
  due to non-standard license
  (newer BSD Licensed versions will be imported later)
- unnecessary files for tools build are not imported
- RCSId strings are trimmed to avoid unintended substitutions
Proposed on tech-toolchain@@:
https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html

Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01.
- unnecessary files for tools build are not imported
- file.c is renamed to lfile.c to avoid conflict with libhfs_iso
- RCSId strings are trimmed
Remove dependencies on non-existent exclude.h.
Pull changes from mkisofs-1.12.1 to avoid statvfs(2).
Make newer BSD Licensed libfile sources build as tools.
Update mkhybrid Makefile for NetBSD's tools builds.
Suppress implicit declaration warnings.
Appease discard-const warnings.
Remove duplicated SYSTEM_ID_DEFAULT definitions.
Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS.
Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01.
Always use local getopt.h as cdrtools-2.01 did.
Tweak and regen configure using autoconf-2.13 to use pkgsrc tools.
Check <stdlib.h> and <flock.h> in configure and regen config.h.
Use HAVE_CONFIG_H to include <stdlib.h> and <string.h> in getopt sources.
Appease more warnings and remove unused getopt functions.
Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13.
Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01.
Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs.
Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13.
Pull malloc related fixes from cdrtools-2.01.
This seems to fix SIGSEGV during free(3) in write.c:write_one_file().
Build mkhybrid as a build tool.
Build mac68k and macppc iso images using tools/mkhybrid.
Drop -data-change-warn from MKISOFS_FLAGS.
It's available only on cdrtools-3.x and later.
Use tools/mkhybrid as MKISOFS for mac68k and future macppc.
Note about current status.
Also pull man page description of options pulled from mkisofs-1.13.
Don't print progress if -quiet is specfied as cdrtools-2.01 and later.
Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB.
Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}.
Even old mac68k and macppc don't require it, and somehow TRANS.TBL
files are shown on NetBSD when the ISO images created with both -T
and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8).
Note this also happens with mkisofs(8) from cdrtools-3.02,
but I have not investigated if it's expected behavior.
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.
Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding.
It looks at least OpenFirmware 2.x fails to load the primary bootloader
in the NetBSD_BootBlock partition if the partition size is too small,
probably because OpenFirmware read() function implicitly uses 32KB blocks.
Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc.
No need to check and redefine C89 strerror(3) and strtoul(3).
Fixes build error on MacOS 10.4 with Xcode 2.5.
@
text
@a0 9
#	$NetBSD: Makefile,v 1.1 2024/06/08 13:03:41 tsutsui Exp $

.include <bsd.hostinit.mk>

HOSTPROGNAME=	${_TOOL_PREFIX}macppc_installboot
HOST_SRCDIR=	distrib/cdrom/macppc_installboot

.include "${.CURDIR}/../Makefile.nbincludes"
.include "${.CURDIR}/../Makefile.host"
@


