Commit graph

66 commits

Author SHA1 Message Date
Ben Gras
04d2db3c44 world: add etcfiles
. avoids future UPDATING entries (for hierarchy extensions
	  necessary for make world to work)
2011-07-22 14:57:55 +02:00
Arun Thomas
5df8be8e7a buildsystem: use dependall target
Improves cache locality by grouping together dependency generation
with building for each program instead of doing a whole-tree dep
generation phase followed by a whole-tree build phase
2011-07-19 15:28:20 +02:00
Ben Gras
25bd2bd8fa world: add servers install target
. previously happened for install in tools/
  . reported by Evgeniy Ivanov
2011-07-07 23:06:00 +02:00
Ben Gras
f3d5a9dc61 Reduce compiler/libraries/headers cases to only two
1. ack, a.out, minix headers (moved to /usr/include.ack),
	   minix libc
	2. gcc/clang, elf, netbsd headers (moved to /usr/include),
	   netbsd libc (moved to /usr/lib)

So this obsoletes the /usr/netbsd hierarchy.

No special invocation for netbsd libc necessary - it's always used
for gcc/clang.
2011-07-04 04:09:52 +02:00
Arun Thomas
03ff167d4d Add bin/ hierarchy 2011-07-01 18:43:15 +02:00
Ben Gras
82932c0d6b new gcc mkheaders location
. Try to be flexible about it this time
2011-06-29 19:35:23 +02:00
Arun Thomas
2e8d1eda1b Replace m4 with NetBSD version
-Create usr.bin hierarchy
-Update minix-port.patch to include m4
2011-06-29 09:33:30 +02:00
Arun Thomas
9902a435cd Simplify ELF library build logic
-Remove obsolete clang-libraries and gnu-libraries targets
-Buildworld now builds elf-libraries as well
2011-06-28 17:27:50 +02:00
Gianluca Guida
cc17b27a2b Build NetBSD libc library in world in ELF mode.
3 sets of libraries are built now:
  . ack: all libraries that ack can compile (/usr/lib/i386/)
  . clang+elf: all libraries with minix headers (/usr/lib/)
  . clang+elf: all libraries with netbsd headers (/usr/netbsd/)

Once everything can be compiled with netbsd libraries and headers, the
/usr/netbsd hierarchy will be obsolete and its libraries compiled with
netbsd headers will be installed in /usr/lib, and its headers
in /usr/include. (i.e. minix libc and current minix headers set
will be gone.)

To use the NetBSD libc system (libraries + headers) before
it is the default libc, see:
   http://wiki.minix3.org/en/DevelopersGuide/UsingNetBSDCode
This wiki page also documents the maintenance of the patch
files of minix-specific changes to imported NetBSD code.

Changes in this commit:
  . libsys: Add NBSD compilation and create a safe NBSD-based libc.
  . Port rest of libraries (except libddekit) to new header system.
  . Enable compilation of libddekit with new headers.
  . Enable kernel compilation with new headers.
  . Enable drivers compilation with new headers.
  . Port legacy commands to new headers and libc.
  . Port servers to new headers.
  . Add <sys/sigcontext.h> in compat library.
  . Remove dependency file in tree.
  . Enable compilation of common/lib/libc/atomic in libsys
  . Do not generate RCSID strings in libc.
  . Temporarily disable zoneinfo as they are incompatible with NetBSD format
  . obj-nbsd for .gitignore
  . Procfs: use only integer arithmetic. (Antoine Leca)
  . Increase ramdisk size to create NBSD-based images.
  . Remove INCSYMLINKS handling hack.
  . Add nbsd_include/sys/exec_elf.h
  . Enable ELF compilation with NBSD libc.
  . Add 'make nbsdsrc' in tools to download reference NetBSD sources.
  . Automate minix-port.patch creation.
  . Avoid using fstavfs() as it is *extremely* slow and unneeded.
  . Set err() as PRIVATE to avoid name clash with libc.
  . [NBSD] servers/vm: remove compilation warnings.
  . u32 is not a long in NBSD headers.
  . UPDATING info on netbsd hierarchy
  . commands fixes for netbsd libc
2011-06-24 11:46:30 +02:00
Ben Gras
230b7775fe changes for detecting and building for clang/binutils elf
and minor fixes:
 . add ack/clean target to lib, 'unify' clean target
 . add includes as library dependency
 . mk: exclude warning options clang doesn't have in non-gcc
 . set -e in lib/*.sh build files
 . clang compile error circumvention (disable NOASSERTS for release builds)
2011-06-07 16:49:52 +02:00
Ben Gras
0e8d574ebd add clean clang libraries target 2011-02-21 16:07:22 +00:00
Ben Gras
dc1cc91df1 <ansi.h> -> <minix/ansi.h> 2011-01-28 11:35:02 +00:00
Arun Thomas
d824b54d82 csu/build support for ELF 2010-12-10 22:20:12 +00:00
Tomas Hruby
159ca9c8c7 Fixed unintentionally removed world target in Makefile 2010-09-15 14:18:39 +00:00
Tomas Hruby
62c666566e SMP - We boot APs
- kernel detects CPUs by searching ACPI tables for local apic nodes

- each CPU has its own TSS that points to its own stack. All cpus boot
  on the same boot stack (in sequence) but switch to its private stack
  as soon as they can.

- final booting code in main() placed in bsp_finish_booting() which is
  executed only after the BSP switches to its final stack

- apic functions to send startup interrupts

- assembler functions to handle CPU features not needed for single cpu
  mode like memory barries, HT detection etc.

- new files kernel/smp.[ch], kernel/arch/i386/arch_smp.c and
  kernel/arch/i386/include/arch_smp.h

- 16-bit trampoline code for the APs. It is executed by each AP after
  receiving startup IPIs it brings up the CPUs to 32bit mode and let
  them spin in an infinite loop so they don't do any damage.

- implementation of kernel spinlock

- CONFIG_SMP and CONFIG_MAX_CPUS set by the build system
2010-09-15 14:09:52 +00:00
Ben Gras
eca25a6cab removed redundant includes dependency from gnu-libraries. 2010-09-01 18:48:47 +00:00
Ben Gras
c6cfdbffe4 also make gcc includes before compiling gcc libraries. 2010-09-01 18:28:55 +00:00
Erik van der Kouwe
a5741a465f update /etc on make world 2010-08-27 10:09:06 +00:00
Ben Gras
cf975bbc22 gcc headers: look at pkgsrc-installed gcc too 2010-07-26 12:48:48 +00:00
Ben Gras
d4e41fd1f6 top-level Makefile: include info on clang-libraries target. 2010-07-13 14:13:27 +00:00
Ben Gras
0574bb5a63 lib: clang-libraries top-level target. 2010-07-13 14:11:31 +00:00
Arun Thomas
e10916476a Move mkfiles from /etc/mk to /usr/share/mk
Simplifies pkgsrc porting.
2010-06-25 19:33:56 +00:00
Tomas Hruby
21725c107d cd subdir && $(MAKE) targets -> $(MAKE) -C subdir targets
- first step towards parallel building
2010-06-22 12:03:09 +00:00
Ben Gras
7b7091e905 zlib includes in lib/libz, install them too in /usr/include from toplevel makefile. 2010-06-17 15:05:20 +00:00
Arun Thomas
2fd1f18803 Release script: Remove .d/.depend files from CD 2010-06-01 14:44:36 +00:00
Arun Thomas
8579c59b3f Minor makefile changes for GCC 2010-06-01 09:41:31 +00:00
Arun Thomas
5706670029 Convert boot/ and commands/ over to bsdmake 2010-05-12 16:28:54 +00:00
Arun Thomas
4ed3a0cf3a Convert kernel over to bsdmake 2010-04-01 22:22:33 +00:00
Arun Thomas
436d6012a3 Convert drivers/ and servers/ over to bsdmake
-Move libdriver to lib/
-Install all boot image services on filesystem to aid restartability
2010-03-22 21:25:22 +00:00
Arun Thomas
9944688d2b Convert man/ over to new make 2010-03-16 00:15:43 +00:00
Kees van Reeuwijk
91655261a1 Also run fixincludes in gcc 4.4.3 2010-03-08 14:51:00 +00:00
Arun Thomas
2a8fabf4ad Include directory reorg and makefile updates.
-Convert the include directory over to using bsdmake
 syntax
-Update/add mkfiles
-Modify install(1) so that it can create symlinks
-Update makefiles to use new install(1) options
-Rename /usr/include/ibm to /usr/include/i386
-Create /usr/include/machine symlink to arch header files
-Move vm_i386.h to its new home in the /usr/include/i386
-Update source files to #include the header files at their
 new homes.
-Add new gnu-includes target for building GCC headers
2010-03-08 11:04:59 +00:00
Arun Thomas
dd6569d342 Copy mkfiles when building world 2010-02-25 22:10:48 +00:00
Arun Thomas
b706112487 Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
Tomas Hruby
ae75f9d4e5 Removal of the executable flag from files that cannot be executed
- 755 -> 644
2009-11-09 10:26:00 +00:00
Ben Gras
16e14559e6 include libraries. 2008-11-19 13:15:35 +00:00
Ben Gras
c078ec0331 Basic VM and other minor improvements.
Not complete, probably not fully debugged or optimized.
2008-11-19 12:26:10 +00:00
Ben Gras
af9aa29858 No gmake in use 2006-03-08 16:46:40 +00:00
Ben Gras
dbca8946f2 No more gmake in top makefile 2006-01-17 15:09:15 +00:00
Philip Homburg
c461b0c63d '$(GMAKE) all' in lib target 2006-01-12 14:51:12 +00:00
Ben Gras
d3ee328792 Hack for make libraries 2005-12-12 13:50:13 +00:00
Ben Gras
40066b06f5 call libraries with $(GMAKE) 2005-10-21 18:31:45 +00:00
Ben Gras
d039824938 commands make all does all 2005-09-19 14:48:31 +00:00
Ben Gras
e1669c41cd No more contrib/ 2005-09-16 15:29:34 +00:00
Ben Gras
15b5f4afe9 Don't make etcfiles so it can be done sep. as root, then world as bin 2005-09-16 13:10:56 +00:00
Ben Gras
768c95ad7d Make commands and contrib optional 2005-09-12 14:17:09 +00:00
Ben Gras
189a1cb738 Also work if there is no contrib 2005-09-11 15:21:50 +00:00
Ben Gras
4462d98567 *** empty log message *** 2005-09-01 15:26:12 +00:00
Ben Gras
6d5b90974a *** empty log message *** 2005-09-01 15:26:12 +00:00
Ben Gras
9856de3090 *** empty log message *** 2005-09-01 14:25:01 +00:00