Index: branches/ErmaC/Enoch/i386/libsaio/console.c
===================================================================
--- branches/ErmaC/Enoch/i386/libsaio/console.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsaio/console.c (revision 2808)
@@ -266,6 +266,7 @@
vprf(fmt, ap);
}
}
+ va_end(ap);
{
// Kabyl: BooterLog
@@ -280,11 +281,12 @@
}
pi.str = cursor;
pi.last_str = 0;
+ va_start(ap, fmt);
prf(fmt, ap, sputc, &pi);
+ va_end(ap);
cursor += strlen((char *)cursor);
}
- va_end(ap);
return(0);
}
@@ -301,6 +303,7 @@
{
vprf(fmt, ap);
}
+ va_end(ap);
// Kabyl: BooterLog
struct putc_info pi;
@@ -317,10 +320,11 @@
pi.str = cursor;
pi.last_str = 0;
+ va_start(ap, fmt);
prf(fmt, ap, sputc, &pi);
+ va_end(ap);
cursor += strlen((char *)cursor);
- va_end(ap);
return(0);
}
Index: branches/ErmaC/Enoch/i386/libsaio/bootstruct.c
===================================================================
--- branches/ErmaC/Enoch/i386/libsaio/bootstruct.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsaio/bootstruct.c (revision 2808)
@@ -40,6 +40,8 @@
#define DBG(x...) msglog(x)
#endif
+#define MEG (1024*1024)
+
/*==========================================================================
* Initialize the structure of parameters passed to
* the kernel by the booter.
@@ -150,6 +152,9 @@
void *addr;
int i;
+ /* Memory size to use for defaults calculations (cparm) */
+ uint64_t sane_size = 0;
+
EfiMemoryRange *memoryMap = NULL;
MemoryRange *range = NULL;
int memoryMapCount = bootInfo->memoryMapCount;
@@ -209,6 +214,56 @@
memoryMap->VirtualStart = range->base;
memoryMap->NumberOfPages = range->length >> I386_PGSHIFT;
memoryMap->Attribute = 0;
+
+ switch (memoryMap->Type)
+ {
+ case kEfiLoaderCode:
+ case kEfiLoaderData:
+ case kEfiBootServicesCode:
+ case kEfiBootServicesData:
+ case kEfiConventionalMemory:
+ /*
+ * Consolidate usable memory types into one (cparm).
+ */
+ sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT);
+ break;
+
+ case kEfiRuntimeServicesCode:
+ case kEfiRuntimeServicesData:
+ case kEfiACPIReclaimMemory:
+ case kEfiACPIMemoryNVS:
+ case kEfiPalCode:
+ /*
+ * sane_size should reflect the total amount of physical ram
+ * in the system, not just the amount that is available for
+ * the OS to use (cparm)
+ */
+ sane_size += (uint64_t)(memoryMap->NumberOfPages << I386_PGSHIFT);
+ break;
+ default:
+ break;
+ }
+
+ if (sane_size == 0)
+ {
+
+ // I Guess that if sane_size == 0 we've got a big problem here,
+ // and it means that the memory map was not converted properly (cparm)
+ stop("Unable to convert memory map into proper format\n");
+ return;
+ }
+
+ /*
+ * For user visible memory size, round up to 128 Mb - accounting for the various stolen memory
+ * not reported by EFI. (cparm)
+ */
+#if DEBUG_BOOTSTRUCT
+ sane_size = (sane_size + 128 * MEG - 1) & ~((uint64_t)(128 * MEG - 1));
+ DBG( "Total amount of physical RAM in the system : %d\n", ((sane_size + 128 * MEG - 1) & ~((uint64_t)(128 * MEG - 1))) );
+#else
+ DBG( "Total amount of RAM in the system : %d\n", sane_size );
+#endif
+ bootArgs->PhysicalMemorySize = sane_size;
}
// copy bootFile into device tree
Index: branches/ErmaC/Enoch/i386/libsaio/bootargs.h
===================================================================
--- branches/ErmaC/Enoch/i386/libsaio/bootargs.h (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsaio/bootargs.h (revision 2808)
@@ -132,11 +132,32 @@
#define kBootArgsFlagHiDPI (1 << 1)
#define kBootArgsFlagBlack (1 << 2)
#define kBootArgsFlagCSRActiveConfig (1 << 3)
-#define kBootArgsFlagCSRPendingConfig (1 << 4)
+#define kBootArgsFlagCSRConfigMode (1 << 4)
#define kBootArgsFlagCSRBoot (1 << 5)
#define kBootArgsFlagBlackBg (1 << 6)
#define kBootArgsFlagLoginUI (1 << 7)
+#define kBootArgsFlagInstallUI (1 << 8)
+/* Rootless configuration flags */
+// http://www.idelta.info/archives/kext-to-check-sip-rootless-status-on-el-capitan/
+#define CSR_ALLOW_UNTRUSTED_KEXTS (1 << 0) /* Allow untrusted kexts */
+#define CSR_ALLOW_UNRESTRICTED_FS (1 << 1) /* Allow unrestricted file system. */
+#define CSR_ALLOW_TASK_FOR_PID (1 << 2) /* Allow test_for_pid() */
+#define CSR_ALLOW_KERNEL_DEBUGGER (1 << 3)
+#define CSR_ALLOW_APPLE_INTERNAL (1 << 4)
+#define CSR_ALLOW_UNRESTRICTED_DTRACE (1 << 5) /* Allow unrestricted dtrace */
+#define CSR_ALLOW_UNRESTRICTED_NVRAM (1 << 6) /* Allow unrestricted NVRAM */
+#define CSR_ALLOW_DEVICE_CONFIGURATION (1 << 7) /* Allow device configuration */
+
+#define CSR_VALID_FLAGS (CSR_ALLOW_UNTRUSTED_KEXTS | \
+ CSR_ALLOW_UNRESTRICTED_FS | \
+ CSR_ALLOW_TASK_FOR_PID | \
+ CSR_ALLOW_KERNEL_DEBUGGER | \
+ CSR_ALLOW_APPLE_INTERNAL | \
+ CSR_ALLOW_UNRESTRICTED_DTRACE | \
+ CSR_ALLOW_UNRESTRICTED_NVRAM | \
+ CSR_ALLOW_DEVICE_CONFIGURATION)
+
typedef struct boot_args
{
uint16_t Revision; /* Revision of boot_args structure */
@@ -181,10 +202,14 @@
uint64_t pciConfigSpaceBaseAddress;
uint32_t pciConfigSpaceStartBusNumber;
uint32_t pciConfigSpaceEndBusNumber;
- uint32_t csrActiveConfig;
- uint32_t csrPendingConfig;
- uint32_t __reserved4[728];
+ uint32_t csrActiveConfig;
+ uint32_t csrCapabilities;
+ uint32_t boot_SMC_plimit;
+ uint16_t bootProgressMeterStart;
+ uint16_t bootProgressMeterEnd;
+ uint32_t __reserved4[726];
+
} boot_args;
typedef struct boot_args_legacy
Index: branches/ErmaC/Enoch/i386/libsaio/ati.c
===================================================================
--- branches/ErmaC/Enoch/i386/libsaio/ati.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsaio/ati.c (revision 2808)
@@ -354,7 +354,7 @@
{ 0x689D, 0x00000000, CHIP_FAMILY_HEMLOCK, "ATI Radeon HD 5900 Series", kUakari },
// CYPRESS
- { 0x689E, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5800 Series", kUakari },
+ { 0x689E, 0x00000000, CHIP_FAMILY_CYPRESS, "ATI Radeon HD 5830 Series", kUakari },
// JUNIPER
{ 0x68A0, 0x00000000, CHIP_FAMILY_JUNIPER, "ATI Radeon HD 5770 Series", kHoolock }, // Mobile
Index: branches/ErmaC/Enoch/i386/libsaio/fake_efi.c
===================================================================
--- branches/ErmaC/Enoch/i386/libsaio/fake_efi.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsaio/fake_efi.c (revision 2808)
@@ -87,6 +87,9 @@
EFI_UINT32 getCPUTick(void)
{
uint32_t out;
+ /*
+ * Note: shl $32, %edx leaves 0 in %edx, and or to %eax does nothing - zenith432
+ */
__asm__ volatile (
"rdtsc\n"
"shl $32,%%edx\n"
@@ -105,8 +108,14 @@
/* Identify ourselves as the EFI firmware vendor */
static EFI_CHAR16 const FIRMWARE_VENDOR[] = {'E','n','o','c','h', 0};
-static EFI_UINT32 const FIRMWARE_REVISION = 0x0001000a; // got from real MBP6,1
+// Pike R. Alpha
+/*
+ * We use the same value for everything, as we should, which means (currently)
+ * 0x0001000A for EFI64 and 0x00010001 for EFI32. Just like on real Mac's.
+ */
+static EFI_UINT32 const FIRMWARE_REVISION = EFI_SYSTEM_TABLE_REVISION;
+
/* Default platform system_id (fix by IntVar)
static EFI_CHAR8 const SYSTEM_ID[] = "0123456789ABCDEF"; //random value gen by uuidgen
*/
@@ -475,6 +484,26 @@
static EFI_UINT8 const STARTUP_POWER_EVENTS[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
static EFI_UINT8 const COMPAT_MODE[] = { 0x01, 0x00, 0x00, 0x00 };
+// Pike R. Alpha
+static EFI_UINT8 const BOOT_DEVICE_PATH[] =
+{
+ 0x02, 0x01, 0x0C, 0x00, 0xD0, 0x41, 0x08, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x06, 0x00,
+ 0x02, 0x1F, 0x03, 0x12, 0x0A, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x2A, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x28, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0B, 0x63, 0x34,
+ 0x00, 0x00, 0x00, 0x00, 0x65, 0x8C, 0x53, 0x3F, 0x1B, 0xCA, 0x83, 0x38, 0xA9, 0xD0, 0xF0, 0x46,
+ 0x19, 0x14, 0x8E, 0x31, 0x02, 0x02, 0x7F, 0xFF, 0x04, 0x00
+};
+// Pike R. Alpha
+static EFI_UINT8 const BOOT_FILE_PATH[] =
+{
+ 0x04, 0x04, 0x50, 0x00, 0x5c, 0x00, 0x53, 0x00, 0x79, 0x00, 0x73, 0x00, 0x74, 0x00, 0x65, 0x00,
+ 0x6d, 0x00, 0x5c, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x62, 0x00, 0x72, 0x00, 0x61, 0x00, 0x72, 0x00,
+ 0x79, 0x00, 0x5c, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x65, 0x00, 0x53, 0x00, 0x65, 0x00,
+ 0x72, 0x00, 0x76, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x73, 0x00, 0x5c, 0x00, 0x62, 0x00,
+ 0x6f, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x65, 0x00, 0x66, 0x00, 0x69, 0x00, 0x00, 0x00,
+ 0x7f, 0xff, 0x04, 0x00
+};
+
/*
* Get an smbios option string option to convert to EFI_CHAR16 string
*/
@@ -656,6 +685,8 @@
{
Node *chosenNode;
chosenNode = DT__FindNode("/chosen", false);
+ unsigned long adler32 = 0;
+
if (chosenNode == NULL)
{
stop("setupChosenNode: Couldn't get '/chosen' node");
@@ -672,11 +703,12 @@
// Adding the default kernel name (mach_kernel) for kextcache.
DT__AddProperty(chosenNode, "boot-file", sizeof(bootInfo->bootFile), bootInfo->bootFile);
-// DT__AddProperty(chosenNode, "boot-device-path", bootDPsize, gBootDP);
+ DT__AddProperty(chosenNode, "boot-file-path", sizeof(BOOT_FILE_PATH), (EFI_UINT8 *) &BOOT_FILE_PATH);
-// DT__AddProperty(chosenNode, "boot-file-path", bootFPsize, gBootFP);
+ // Adding the root path for kextcache.
+ DT__AddProperty(chosenNode, "boot-device-path", sizeof(BOOT_DEVICE_PATH), (EFI_UINT8 *) &BOOT_DEVICE_PATH);
-// DT__AddProperty(chosenNode, "boot-kernelcache-adler32", sizeof(adler32), adler32);
+ DT__AddProperty(chosenNode, "boot-kernelcache-adler32", sizeof(unsigned long), &adler32);
DT__AddProperty(chosenNode, MACHINE_SIG_PROP, sizeof(Platform.HWSignature), (EFI_UINT32 *)&Platform.HWSignature);
@@ -762,10 +794,16 @@
// shr $0x8, %rcx
rdx = (cpuTick >> 0x10); // mov %rax, %rdx
// shr $0x10, %rdx
- rdi = rsi; // mov %rsi, %rdi
+ /*
+ * Note: In x86 assembly, rXX is upper part of eXX register.
+ * In C they're different variables.
+ * The code is identical with or without RANDOMSEED. - zenith432
+ */
+ rdi = rsi = esi; // mov %rsi, %rdi
rdi = (rdi ^ cpuTick); // xor %rax, %rdi
rdi = (rdi ^ rcx); // xor %rcx, %rdi
rdi = (rdi ^ rdx); // xor %rdx, %rdi
+ edi = (EFI_UINT32) rdi;
seedBuffer[index] = (rdi & 0xff); // mov %dil, (%r15,%r12,1)
#endif
Index: branches/ErmaC/Enoch/i386/boot2/drivers.c
===================================================================
--- branches/ErmaC/Enoch/i386/boot2/drivers.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/boot2/drivers.c (revision 2808)
@@ -176,6 +176,8 @@
return 0;
}
+ // ========================================
+
// Load extra drivers if a hook has been installed.
if (LoadExtraDrivers_p != NULL)
{
Index: branches/ErmaC/Enoch/i386/boot2/boot.c
===================================================================
--- branches/ErmaC/Enoch/i386/boot2/boot.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/boot2/boot.c (revision 2808)
@@ -149,6 +149,81 @@
entry_t kernelEntry;
bootArgs->kaddr = bootArgs->ksize = 0;
+
+// ===============================================================================
+
+ // OS X Mountain Lion 10.8
+ if ( MacOSVerCurrent >= MacOSVer2Int("10.8") ) // Mountain Lion and Up!
+ {
+ // cparm
+ bool KPRebootOption = false;
+ bool HiDPIOption = false;
+ getBoolForKey(kRebootOnPanic, &KPRebootOption, &bootInfo->chameleonConfig);
+ if ( KPRebootOption )
+ {
+ bootArgs->flags |= kBootArgsFlagRebootOnPanic;
+ }
+
+ // cparm
+ getBoolForKey(kEnableHiDPI, &HiDPIOption, &bootInfo->chameleonConfig);
+
+ if ( HiDPIOption )
+ {
+ bootArgs->flags |= kBootArgsFlagHiDPI;
+ }
+ }
+
+ // OS X Yosemite 10.10
+ if ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) // Yosemite and Up!
+ {
+ // Pike R. Alpha
+ bool FlagBlackOption = false;
+ getBoolForKey(kBlackMode, &FlagBlackOption, &bootInfo->chameleonConfig);
+ if ( FlagBlackOption )
+ {
+ //bootArgs->flags |= kBootArgsFlagBlack;
+ bootArgs->flags |= kBootArgsFlagBlackBg; // Micky1979
+ }
+ }
+
+ // OS X El Capitan 10.11
+ if ( MacOSVerCurrent >= MacOSVer2Int("10.11") ) // El Capitan and Up!
+ {
+ // ErmaC
+ int crsValue;
+
+#if 0
+ /*
+ * A special BootArgs flag "kBootArgsFlagCSRBoot"
+ * is set in the Recovery or Installation environment.
+ * This flag is kind of overkill by turning off all the protections
+ */
+
+ if (isRecoveryHD)
+ {
+ // SIP can be controlled with or without FileNVRAM.kext (Pike R. Alpha)
+ bootArgs->flags |= (kBootArgsFlagCSRActiveConfig + kBootArgsFlagCSRConfigMode + kBootArgsFlagCSRBoot);
+ }
+#endif
+
+ bootArgs->flags |= kBootArgsFlagCSRActiveConfig;
+
+ // Set limit to 7bit
+ if ( getIntForKey(kCsrActiveConfig, &crsValue, &bootInfo->chameleonConfig) && (crsValue >= 0 && crsValue <= 127) )
+ {
+ bootArgs->csrActiveConfig = crsValue;
+ }
+ else
+ {
+ // zenith432
+ bootArgs->csrActiveConfig = 0x67;
+ }
+ bootArgs->csrCapabilities = CSR_VALID_FLAGS;
+ bootArgs->boot_SMC_plimit = 0;
+ }
+
+// ===============================================================================
+
execute_hook("ExecKernel", (void *)binary, NULL, NULL, NULL);
ret = DecodeKernel(binary,
@@ -316,14 +391,21 @@
}
closedir(cacheDir);
}
- else
+ else if ( MacOSVerCurrent >= MacOSVer2Int("10.7") && MacOSVerCurrent < MacOSVer2Int("10.10") )
{
- // Lion, Mountain Lion, Mavericks, Yosemite and El Capitan prelink kernel cache file
- // for 10.7 10.8 10.9 10.10 10.11
+ // Lion, Mountain Lion and Mavericks prelink kernel cache file
+ // for 10.7 10.8 10.9
snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%skernelcache", kDefaultCachePathSnow);
verbose("Kernel Cache file path (Mac OS X 10.7 and newer): %s\n", kernelCacheFile);
}
+ else
+ {
+ // Yosemite and El Capitan prelink kernel cache file
+ // for 10.10 10.11
+ snprintf(kernelCacheFile, sizeof(kernelCacheFile), "%sprelinkedkernel", kDefaultCachePathYosemite);
+ verbose("Kernel Cache file path (OS X 10.10 and newer): %s\n", kernelCacheFile);
+ }
}
// Check if the kernel cache file exists
@@ -410,9 +492,11 @@
// own things, and then calls common_boot.
void boot(int biosdev)
{
- initialize_runtime();
// Enable A20 gate before accessing memory above 1Mb.
+ // Note: malloc_init(), called via initialize_runtime() writes
+ // memory >= 1Mb, so A20 must be enabled before calling it. - zenith432
enableA20();
+ initialize_runtime();
common_boot(biosdev);
}
@@ -899,16 +983,13 @@
// =========================================================================
bool checkOSVersion(const char *version)
{
- if ( (sizeof(version) > 4) && ('.' != version[4]) && ('\0' != version[4]) )
+ if ( '\0' != version[4] )
{
- return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1])
- && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3])
- && (gMacOSVersion[4] == version[4]));
+ return !memcmp(&gMacOSVersion[0], &version[0], 5);
}
else
{
- return ((gMacOSVersion[0] == version[0]) && (gMacOSVersion[1] == version[1])
- && (gMacOSVersion[2] == version[2]) && (gMacOSVersion[3] == version[3]));
+ return !memcmp(&gMacOSVersion[0], &version[0], 4);
}
}
Index: branches/ErmaC/Enoch/i386/boot2/boot.h
===================================================================
--- branches/ErmaC/Enoch/i386/boot2/boot.h (revision 2807)
+++ branches/ErmaC/Enoch/i386/boot2/boot.h (revision 2808)
@@ -46,6 +46,7 @@
// kernel cache
#define kDefaultCachePathLeo "/System/Library/Caches/com.apple.kernelcaches/"
#define kDefaultCachePathSnow "/System/Library/Caches/com.apple.kext.caches/Startup/"
+#define kDefaultCachePathYosemite "/System/Library/PrelinkedKernels/"
// Lion installer
#define kLionInstallerDataFolder "/Mac OS X Install Data/"
@@ -185,7 +186,9 @@
#define kEnableHDMIAudio "EnableHDMIAudio" /* ati.c && nvidia.c */
/* cparm: added these keys */
+#define kRebootOnPanic "RebootOnPanic"
#define kEnableHiDPI "EnableHiDPI" // enable High resolution display (aka Retina)
+
/* ErmaC: added these keys */
#define kEnableDualLink "EnableDualLink" /* ati.c && nvidia.c && gma.c */
#define kNvidiaGeneric "NvidiaGeneric" /* nvidia.c */
@@ -204,6 +207,7 @@
#define kDropBGRT "DropBGRT" /* acpi_patcher.c */
#define kDropMCFG "DropMCFG" /* acpi_patcher.c */
#define kDropAPIC "DropAPIC" /* acpi_patcher.c */
+#define kCsrActiveConfig "CsrActiveConfig" /* boot.c */
/* Pike R. Alpha: added this key */
#define kBlackMode "BlackMode"
Index: branches/ErmaC/Enoch/i386/config/confdata.c
===================================================================
--- branches/ErmaC/Enoch/i386/config/confdata.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/config/confdata.c (revision 2808)
@@ -81,6 +81,7 @@
va_start(ap, fmt);
if (conf_message_callback)
conf_message_callback(fmt, ap);
+ va_end(ap);
}
const char *conf_get_configname(void)
Index: branches/ErmaC/Enoch/i386/libsa/zalloc.c
===================================================================
--- branches/ErmaC/Enoch/i386/libsa/zalloc.c (revision 2807)
+++ branches/ErmaC/Enoch/i386/libsa/zalloc.c (revision 2808)
@@ -75,7 +75,7 @@
zalloc_base = start ? start : (char *)ZALLOC_ADDR;
totalNodes = nodes ? nodes : ZALLOC_NODES;
zalloced = (zmem *) zalloc_base;
- zavailable = (zmem *) zalloc_base + sizeof(zmem) * totalNodes;
+ zavailable = (zmem *) (zalloc_base + sizeof(zmem) * totalNodes);
zavailable[0].start = (char *)zavailable + sizeof(zmem) * totalNodes;
if (size == 0)
Index: branches/ErmaC/Enoch/i386/util/fdisk/Makefile
===================================================================
--- branches/ErmaC/Enoch/i386/util/fdisk/Makefile (revision 2807)
+++ branches/ErmaC/Enoch/i386/util/fdisk/Makefile (revision 2808)
@@ -13,8 +13,9 @@
include ${SRCROOT}/Make.rules
-LDFLAGS := $(LDFALGS) -mmacosx-version-min=10.5
+LDFLAGS := $(LDFLAGS) -mmacosx-version-min=10.5
+CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5
OBJS = cmd.o32 disk.o32 fdisk.o32 getrawpartition.o32 mbr.o32 misc.o32 opendev.o32 part.o32 user.o32 auto.o32 \
cmd.o64 disk.o64 fdisk.o64 getrawpartition.o64 mbr.o64 misc.o64 opendev.o64 part.o64 user.o64 auto.o64
Index: branches/ErmaC/Enoch/i386/util/boot1-install/Makefile
===================================================================
--- branches/ErmaC/Enoch/i386/util/boot1-install/Makefile (revision 2807)
+++ branches/ErmaC/Enoch/i386/util/boot1-install/Makefile (revision 2808)
@@ -11,7 +11,7 @@
include ${SRCROOT}/Make.rules
-LDFLAGS := $(LDFALGS) -mmacosx-version-min=10.5 \
+LDFLAGS := $(LDFLAGS) -mmacosx-version-min=10.5 \
-framework CoreFoundation \
-framework DiskArbitration \
-Wl,-no_source_version \
@@ -21,6 +21,8 @@
-Wl,-no_uuid \
-Wl,-no_dependent_dr_info
+CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5
+
OBJS = boot1-install.o32 \
boot1-install.o64
@@ -56,4 +58,4 @@
clean-local:
@for o in $(OBJS); do if [ -f "$${o}" ];then echo " [RM] $${o}"; fi; done
@for p in $(SYMPROG); do if [ -f "$${p}" ];then echo " [RM] $${p}"; fi; done
- @rm -f $(SYMPROG) $(OBJS)
\ No newline at end of file
+ @rm -f $(SYMPROG) $(OBJS)
Index: branches/ErmaC/Enoch/i386/util/Makefile
===================================================================
--- branches/ErmaC/Enoch/i386/util/Makefile (revision 2807)
+++ branches/ErmaC/Enoch/i386/util/Makefile (revision 2808)
@@ -35,8 +35,10 @@
OBJS := $(addprefix $(OBJROOT)/, $(OBJS))
-LDFLAGS := $(LDFALGS) -framework IOKit -framework CoreFoundation -mmacosx-version-min=10.5
+LDFLAGS := $(LDFLAGS) -framework IOKit -framework CoreFoundation -mmacosx-version-min=10.5
+CFLAGS := $(CFLAGS) -mmacosx-version-min=10.5
+
SYMPROG = $(addprefix $(SYMROOT)/, $(PROGRAMS))
DIRS_NEEDED = $(OBJROOT) $(SYMROOT)
Index: branches/ErmaC/Enoch/package/Distribution
===================================================================
--- branches/ErmaC/Enoch/package/Distribution (revision 2807)
+++ branches/ErmaC/Enoch/package/Distribution (revision 2808)
@@ -9,7 +9,7 @@