[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#323182: a bit more about miboot's legal status



On Mon, Aug 22, 2005 at 11:50:37AM +0200, Sven Luther wrote:
> > I understand this, but was speaking about a different problem. IIRC
> > miBoot itself uses a non-free library from Apple, in addition to being
> > loaded by a non-free bootloader.
> 
> Ah, which one ? I thought it only used codewarrior 4 to build, and then used
> probably the runtime, not sure. What is this library you are speaking about ?

I had a quick look, and found this text is at the top of the copy of the
GPL in the Sources directory of BootX 1.2.2:

| NOTE: The included pieces called "MoreFiles", "MoreCFMPatches" and
| other "More...." in the "lib" directory are pieces of Apple's
| MoreFiles and MoreIsBetter packages.  Those are freely distributed
| source packages containing various pre-made tools, by Apple.  The
| licence on those package is quite "light" and probably conflicts with
| the GPL. They are _NOT_ covered by BootX GPL, BootX licence covers
| only the directories others than "lib".

However, after checking, it seems these libraries are practically not
used to build miBoot, with the exception of the inclusion of one of
their headers from common/elf_loader_defs.h (the code in the common/
subdir is used both by miBoot and BootX.)

The header file in question, Optimization.h (attached, piped through
tr '\r' '\n') is a rather trivial file, and I doubt there's any problem
here. In the worst case it would take a minor change and a rebuild to
get a 100% clean miBoot binary.

-- 
Jeremie Koenig <sprite@sprite.fr.eu.org>
/*
**	Apple Macintosh Developer Technical Support
**
**	DirectoryCopy: #defines that let you make MoreFiles code more efficient.
**
**	by Jim Luther, Apple Developer Technical Support Emeritus
**
**	File:		Optimization.h
**
**	Copyright © 1992-1998 Apple Computer, Inc.
**	All rights reserved.
**
**	You may incorporate this sample code into your applications without
**	restriction, though the sample code has been provided "AS IS" and the
**	responsibility for its operation is 100% yours.  However, what you are
**	not permitted to do is to redistribute the source as "DSC Sample Code"
**	after having made changes. If you're going to re-distribute the source,
**	we require that you make it clear in the source that the code was
**	descended from Apple Sample Code, but that you've made changes.
**
**	The Optimization changes to MoreFiles source and header files, along with
**	this file and OptimizationEnd.h, let you optimize the code produced
**	by MoreFiles in several ways.
**
**	1 -- MoreFiles contains extra code so that many routines can run under
**	Mac OS systems back to System 6. If your program requires a specific
**	version of Mac OS and your program checks for that version before
**	calling MoreFiles routines, then you can remove a lot of compatibility
**	code by defining one of the following to 1:
**
**		__MACOSSEVENFIVEONEORLATER	// assume Mac OS 7.5.1 or later
**		__MACOSSEVENFIVEORLATER		// assume Mac OS 7.5 or later
**		__MACOSSEVENORLATER			// assume Mac OS 7.0 or later
**
**	By default, all compatibility code is ON.
**
**	2 -- You may disable Pascal calling conventions in all MoreFiles routines
**	except for system callbacks that require Pascal calling conventions.
**	This will make C programs both smaller and faster.
**	Just define __WANTPASCALELIMINATION to be 1 to turn this optimization on
**	when building MoreFiles for use from C programs (you'll need to keep
**	Pascal calling conventions when linking MoreFiles routines with Pascal
**	programs).
**
**	3 -- If Metrowerks compiler is used, "#pragma internal on" may help produce
**	better code. However, this option can also cause problems if you're
**	trying to build MoreFiles as a shared library, so it is by default not used.
**	Just define __USEPRAGMAINTERNAL to be 1 to turn this optimization on.
**
**	Original changes supplied by Fabrizio Oddone
**
**	File:	Optimization.h
*/


#ifndef __MACOSSEVENFIVEONEORLATER
	#define __MACOSSEVENFIVEONEORLATER 0
#endif

#ifndef __MACOSSEVENFIVEORLATER
	#define __MACOSSEVENFIVEORLATER __MACOSSEVENFIVEONEORLATER
#endif

#ifndef __MACOSSEVENORLATER
	#if GENERATINGCFM
		#define __MACOSSEVENORLATER 1
	#else
		#define __MACOSSEVENORLATER __MACOSSEVENFIVEORLATER
	#endif
#endif


#ifndef	__WANTPASCALELIMINATION
	#define	__WANTPASCALELIMINATION	0
#endif

#if	__WANTPASCALELIMINATION
	#define pascal	
#endif


#ifndef __USEPRAGMAINTERNAL
	#define	__USEPRAGMAINTERNAL	0
#endif

#if	__USEPRAGMAINTERNAL
	#if defined(__MWERKS__)
		#pragma internal on
	#endif
#endif


Reply to: