Revision: 23501 http://trac.macosforge.org/projects/launchd/changeset/23501 Author: zarzycki@apple.com Date: 2008-01-28 11:26:29 -0800 (Mon, 28 Jan 2008) Log Message: ----------- <rdar://problem/5706535> SystemStarter links against distributed notifications, which aren't available Modified Paths: -------------- trunk/Makefile trunk/launchd/configure trunk/launchd/configure.ac trunk/launchd/src/Makefile.am trunk/launchd/src/Makefile.in Modified: trunk/Makefile =================================================================== --- trunk/Makefile 2008-01-28 19:20:02 UTC (rev 23500) +++ trunk/Makefile 2008-01-28 19:26:29 UTC (rev 23501) @@ -1,3 +1,7 @@ +ifndef SDKROOT +export SDKROOT = / +endif + Project = launchd Extra_Configure_Flags = --sbindir=/sbin --bindir=/bin --sysconfdir=/private/etc GnuAfterInstall = launchd_after_install @@ -5,7 +9,7 @@ Install_Flags = DESTDIR=$(DSTROOT) ifeq ($(shell tconf --test TARGET_OS_EMBEDDED),YES) - Extra_Configure_Flags += --host=none-apple-darwin +Extra_Configure_Flags += --host=none-apple-darwin endif launchd_after_install:: @@ -14,10 +18,12 @@ -find -d $(DSTROOT) -type l | grep -v /usr/local/lib/system | xargs rm -find -d $(DSTROOT) -type d | grep -v /usr/local/lib/system | xargs rmdir else +ifeq ($(shell tconf --test TARGET_OS_EMBEDDED),NO) mkdir -p $(DSTROOT)/Library/StartupItems chmod 755 $(DSTROOT)/Library/StartupItems mkdir -p $(DSTROOT)/System/Library/StartupItems chmod 755 $(DSTROOT)/System/Library/StartupItems +endif rm -rf $(DSTROOT)/usr/local/lib/system cp $(OBJROOT)/src/launchd $(SYMROOT) cp $(OBJROOT)/src/launchctl $(SYMROOT) Modified: trunk/launchd/configure =================================================================== --- trunk/launchd/configure 2008-01-28 19:20:02 UTC (rev 23500) +++ trunk/launchd/configure 2008-01-28 19:26:29 UTC (rev 23501) @@ -702,6 +702,8 @@ WEAKLIBS_SECURITY LIBS_ONLY_TRUE LIBS_ONLY_FALSE +DO_EMBEDDED_MAGIC_TRUE +DO_EMBEDDED_MAGIC_FALSE LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias @@ -7861,7 +7863,16 @@ LIBS_ONLY_FALSE= fi + if test $(tconf --test TARGET_OS_EMBEDDED) = YES; then + DO_EMBEDDED_MAGIC_TRUE= + DO_EMBEDDED_MAGIC_FALSE='#' +else + DO_EMBEDDED_MAGIC_TRUE='#' + DO_EMBEDDED_MAGIC_FALSE= +fi + + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -7979,6 +7990,13 @@ Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${DO_EMBEDDED_MAGIC_TRUE}" && test -z "${DO_EMBEDDED_MAGIC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"DO_EMBEDDED_MAGIC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"DO_EMBEDDED_MAGIC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files @@ -8597,10 +8615,12 @@ WEAKLIBS_SECURITY!$WEAKLIBS_SECURITY$ac_delim LIBS_ONLY_TRUE!$LIBS_ONLY_TRUE$ac_delim LIBS_ONLY_FALSE!$LIBS_ONLY_FALSE$ac_delim +DO_EMBEDDED_MAGIC_TRUE!$DO_EMBEDDED_MAGIC_TRUE$ac_delim +DO_EMBEDDED_MAGIC_FALSE!$DO_EMBEDDED_MAGIC_FALSE$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 Modified: trunk/launchd/configure.ac =================================================================== --- trunk/launchd/configure.ac 2008-01-28 19:20:02 UTC (rev 23500) +++ trunk/launchd/configure.ac 2008-01-28 19:26:29 UTC (rev 23501) @@ -62,5 +62,7 @@ src/Makefile]) AM_CONDITIONAL(LIBS_ONLY, test "$RC_ProjectName" = launchd_libs) +AM_CONDITIONAL(DO_EMBEDDED_MAGIC, test $(tconf --test TARGET_OS_EMBEDDED) = YES) + AC_OUTPUT Modified: trunk/launchd/src/Makefile.am =================================================================== --- trunk/launchd/src/Makefile.am 2008-01-28 19:20:02 UTC (rev 23500) +++ trunk/launchd/src/Makefile.am 2008-01-28 19:26:29 UTC (rev 23501) @@ -34,7 +34,11 @@ else bin_PROGRAMS = launchctl wait4path +if DO_EMBEDDED_MAGIC +sbin_PROGRAMS = launchd +else sbin_PROGRAMS = launchd SystemStarter +endif libexec_PROGRAMS = launchproxy sysconf_DATA = hostconfig rc.common rc.netboot @@ -42,9 +46,12 @@ launchctl_CFLAGS = $(AM_CFLAGS) -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders launchctl_LDFLAGS = -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib +if DO_EMBEDDED_MAGIC +else SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) SystemStarter_LDFLAGS = -framework CoreFoundation -framework IOKit SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c +endif launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -freorder-blocks # -fomit-frame-pointer # -Wconversion # -Wstrict-aliasing=2 -fstrict-aliasing launchd_LDFLAGS = -lbsm @@ -75,7 +82,11 @@ man5_MANS = launchd.plist.5 launchd.conf.5 +if DO_EMBEDDED_MAGIC +man8_MANS = launchd.8 launchproxy.8 +else man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8 +endif install-data-hook: mkdir -p $(DESTDIR)/usr/libexec @@ -88,7 +99,6 @@ mkdir -p $(DESTDIR)/Library/LaunchAgents mkdir -p $(DESTDIR)/System/Library/LaunchAgents mkdir -p $(DESTDIR)/System/Library/LaunchDaemons - cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec cp $(srcdir)/liblaunch_public.h $(DESTDIR)/usr/include/launch.h cp $(srcdir)/libvproc_public.h $(DESTDIR)/usr/include/vproc.h cp $(srcdir)/libbootstrap_public.h $(DESTDIR)/usr/include/servers/bootstrap.h @@ -97,6 +107,10 @@ cp $(srcdir)/liblaunch_private.h $(DESTDIR)/usr/local/include/launch_priv.h cp $(srcdir)/libvproc_private.h $(DESTDIR)/usr/local/include/vproc_priv.h cp $(srcdir)/reboot2.h $(DESTDIR)/usr/local/include/reboot2.h +if DO_EMBEDDED_MAGIC +else + cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons +endif endif Modified: trunk/launchd/src/Makefile.in =================================================================== --- trunk/launchd/src/Makefile.in 2008-01-28 19:20:02 UTC (rev 23500) +++ trunk/launchd/src/Makefile.in 2008-01-28 19:26:29 UTC (rev 23501) @@ -33,8 +33,11 @@ PRE_UNINSTALL = : POST_UNINSTALL = : @LIBS_ONLY_FALSE@bin_PROGRAMS = launchctl$(EXEEXT) wait4path$(EXEEXT) -@LIBS_ONLY_FALSE@sbin_PROGRAMS = launchd$(EXEEXT) \ -@LIBS_ONLY_FALSE@ SystemStarter$(EXEEXT) +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@sbin_PROGRAMS = \ +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ launchd$(EXEEXT) \ +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ SystemStarter$(EXEEXT) +@DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE@sbin_PROGRAMS = \ +@DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE@ launchd$(EXEEXT) @LIBS_ONLY_FALSE@libexec_PROGRAMS = launchproxy$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ @@ -80,10 +83,9 @@ sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS) $(sbin_PROGRAMS) am__SystemStarter_SOURCES_DIST = StartupItems.c IPC.c SystemStarter.c -@LIBS_ONLY_FALSE@am_SystemStarter_OBJECTS = \ -@LIBS_ONLY_FALSE@ SystemStarter-StartupItems.$(OBJEXT) \ -@LIBS_ONLY_FALSE@ SystemStarter-IPC.$(OBJEXT) \ -@LIBS_ONLY_FALSE@ SystemStarter-SystemStarter.$(OBJEXT) +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@am_SystemStarter_OBJECTS = SystemStarter-StartupItems.$(OBJEXT) \ +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ SystemStarter-IPC.$(OBJEXT) \ +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ SystemStarter-SystemStarter.$(OBJEXT) SystemStarter_OBJECTS = $(am_SystemStarter_OBJECTS) SystemStarter_LDADD = $(LDADD) SystemStarter_LINK = $(CCLD) $(SystemStarter_CFLAGS) $(CFLAGS) \ @@ -253,16 +255,17 @@ @LIBS_ONLY_FALSE@sysconf_DATA = hostconfig rc.common rc.netboot @LIBS_ONLY_FALSE@launchctl_CFLAGS = $(AM_CFLAGS) -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders @LIBS_ONLY_FALSE@launchctl_LDFLAGS = -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib -@LIBS_ONLY_FALSE@SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -@LIBS_ONLY_FALSE@SystemStarter_LDFLAGS = -framework CoreFoundation -framework IOKit -@LIBS_ONLY_FALSE@SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@SystemStarter_LDFLAGS = -framework CoreFoundation -framework IOKit +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c @LIBS_ONLY_FALSE@launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -freorder-blocks # -fomit-frame-pointer # -Wconversion # -Wstrict-aliasing=2 -fstrict-aliasing @LIBS_ONLY_FALSE@launchd_LDFLAGS = -lbsm @LIBS_ONLY_FALSE@launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c protocol_vprocServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c launchd_runtime_kill.c job_forwardUser.c mach_excServer.c @LIBS_ONLY_FALSE@launchproxy_LDFLAGS = $(LIBS_SECURITY) @LIBS_ONLY_FALSE@man1_MANS = wait4path.1 launchctl.1 @LIBS_ONLY_FALSE@man5_MANS = launchd.plist.5 launchd.conf.5 -@LIBS_ONLY_FALSE@man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8 +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8 +@DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE@man8_MANS = launchd.8 launchproxy.8 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -1212,7 +1215,6 @@ @LIBS_ONLY_FALSE@ mkdir -p $(DESTDIR)/Library/LaunchAgents @LIBS_ONLY_FALSE@ mkdir -p $(DESTDIR)/System/Library/LaunchAgents @LIBS_ONLY_FALSE@ mkdir -p $(DESTDIR)/System/Library/LaunchDaemons -@LIBS_ONLY_FALSE@ cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec @LIBS_ONLY_FALSE@ cp $(srcdir)/liblaunch_public.h $(DESTDIR)/usr/include/launch.h @LIBS_ONLY_FALSE@ cp $(srcdir)/libvproc_public.h $(DESTDIR)/usr/include/vproc.h @LIBS_ONLY_FALSE@ cp $(srcdir)/libbootstrap_public.h $(DESTDIR)/usr/include/servers/bootstrap.h @@ -1221,7 +1223,8 @@ @LIBS_ONLY_FALSE@ cp $(srcdir)/liblaunch_private.h $(DESTDIR)/usr/local/include/launch_priv.h @LIBS_ONLY_FALSE@ cp $(srcdir)/libvproc_private.h $(DESTDIR)/usr/local/include/vproc_priv.h @LIBS_ONLY_FALSE@ cp $(srcdir)/reboot2.h $(DESTDIR)/usr/local/include/reboot2.h -@LIBS_ONLY_FALSE@ cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec +@DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@ cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: