Date: Tue, 02 Nov 1999 14:25:00 +0100 From: Marcel Moolenaar <marcel@scc.nl> To: arch@freebsd.org Subject: preview: Make world Message-ID: <381EE62C.A299A6B9@scc.nl>
next in thread | raw e-mail | index | archive | help
Hi, I've made my work-in-progress available at http://www.freebsd.org/~marcel/world.diff (184KB). Some hi(gh)lights: - No cleanup before building. - Non-root building. - Cross-building ready. Work to be done: - Build cross-compilation tools from sources. - Conditional tools building. From the /usr/src/Makefile comments: # Make command line options (enable): # # -DCOMPAT1X include FreeBSD 1.x compatibility # -DCOMPAT20 include FreeBSD 2.0.x compatibility # -DCOMPAT21 include FreeBSD 2.1.x compatibility # -DCOMPAT22 include FreeBSD 2.2.x compatibility # -DCOMPAT3X include FreeBSD 3.x compatibility # -DCSRG_LIBM use legacy libm # -DKERBEROS4 include KerberosIV # -DRELEASE release specialities (much of the above and more) # # Make command line options (disable): # # -DNOCRYPT do not build crypt versions # -DNOINFO do not make or install info files # -DNOPROFILE do not build profiled libraries # -DNOSECURE the secure subdir should not be built # # Make command line options (variables [with defaults]): # # TARGET_ARCH=[${MACHINE_ARCH}] # specifies the platform for which world is to # be built # KERNEL=[GENERIC] # specifies which kernel should be build as part # of a world # DESTDIR=[] # specifies where world is to be installed # # ======== # TODO # ======== # # Dependencies: # # - Handle makefile dependencies for makefiles that only include # bsd.subdir.mk. # - Handle the possible complex dependencies of makefiles caused by # the include directive. This can be handled by introducing a new # variable (MAKEFILES) to which each makefile appends its name. # bsd.dep.obj can iterate over these names and check timestamps. # - Handle the possible complex dependencies of build options. This # implies that a build must "remember" its options so that a re- # build can handle changes in these options. # # Cross building: # # - Double check make world without an existing /usr/include # - Double check make world without an existing /usr/lib # - Find out what needs to be done to build a cross-compiler # from the sources in the source tree. # # Tools building: # # - Design a generic and flexibly why to determine whether some tools # need to be build or not. For example: The tools subdir can hold # shell scripts that each handle a different tool (analogy with rc.d) # and basicly contains the checks and the make commands. # # Upgrading: # - Include checks to determine if bootblocks need to be installed # # Command line options: # # -DNOSUIDPERL # -DPERL_THREADED # -DNO_SENDMAIL # -DNO_CVS # -DNOMANCOMPRESS # # PRINTERDEVICE= # BOOTWAIT= # BOOT_COMCONSOLE_PORT= # BOOT_COMCONSOLE_SPEED= # TOP_TABLE_SIZE= # DEBUG_FLAGS= # # Miscellaneous: # # - Don't forget release building. # FYI, -- Marcel Moolenaar mailto:marcel@scc.nl SCC Internetworking & Databases http://www.scc.nl/ The FreeBSD project mailto:marcel@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?381EE62C.A299A6B9>
