How long does it take to compile your OS?
- CmpXchg
- Member
- Posts: 61
- Joined: Mon Apr 28, 2008 12:14 pm
- Location: Petrozavodsk, Russia during school months, Vänersborg Sweden in the summertime
How long does it take to compile your OS?
Well, just wanted to ask that.
When I thought about it, if an OS consists of 50+ files, it would take a considerable time to recompile it completely, wouldn't it?
How long do you think it takes to recompile the entire Linux?
When I thought about it, if an OS consists of 50+ files, it would take a considerable time to recompile it completely, wouldn't it?
How long do you think it takes to recompile the entire Linux?
"The entire Linux"?
Even if you refer to the kernel only, it's highly dependent on platform and options enabled.
And it's a factor of your compiling machine. A Core 2 Duo tends to be faster than a Pentium 3.
I use Gentoo Linux, with a kernel configured for my specific machine (i.e., not compiling any modules I don't need, etc.). That takes about roughly five minutes to recompile from scratch.
Of course, there's "make", which means you only recompile what has changed. With that, recompilation is done in a couple of seconds, usually.
Even if you refer to the kernel only, it's highly dependent on platform and options enabled.
And it's a factor of your compiling machine. A Core 2 Duo tends to be faster than a Pentium 3.
I use Gentoo Linux, with a kernel configured for my specific machine (i.e., not compiling any modules I don't need, etc.). That takes about roughly five minutes to recompile from scratch.
Of course, there's "make", which means you only recompile what has changed. With that, recompilation is done in a couple of seconds, usually.
Every good solution is obvious once you've found it.
Again, it's platform dependent, but on my work machine (compiling our PowerPC port which has slightly less stuff in)...
Yes, I really need to fix all those warnings in the bootloader
Code: Select all
[11:12:51] aubergine: ~/pedigree/build
$ time make
Scanning dependencies of target check_compiler
[ 0%] Built target check_compiler
Scanning dependencies of target version.cc
[ 1%] Built target version.cc
[ 2%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/Log.cc.o
[ 3%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/Version.cc.o
[ 5%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/Archive.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/Archive.cc:17:
/home/jamesmol/pedigree/src/system/kernel/Archive.h:27: warning: 'class Archive' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/Archive.h:27: warning: but does not override 'Archive(const Archive&)'
/home/jamesmol/pedigree/src/system/kernel/Archive.h:27: warning: or 'operator=(const Archive&)'
/home/jamesmol/pedigree/src/system/kernel/Archive.cc: In member function 'size_t Archive::getFileSize(size_t)':
/home/jamesmol/pedigree/src/system/kernel/Archive.cc:75: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/Archive.cc: In member function 'char* Archive::getFileName(size_t)':
/home/jamesmol/pedigree/src/system/kernel/Archive.cc:97: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/Archive.cc: In member function 'uintptr_t* Archive::getFile(size_t)':
/home/jamesmol/pedigree/src/system/kernel/Archive.cc:120: warning: comparison between signed and unsigned integer expressions
[ 6%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/Spinlock.cc.o
[ 7%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/lib/cppsupport.cc.o
[ 9%] Building C object src/system/kernel/CMakeFiles/kernel.dir/core/lib/memory.c.o
[ 10%] Building C object src/system/kernel/CMakeFiles/kernel.dir/core/lib/string.c.o
[ 11%] Building C object src/system/kernel/CMakeFiles/kernel.dir/core/lib/vsprintf.c.o
[ 12%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/lib/demangle.cc.o
[ 14%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/Mutex.cc.o
[ 15%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/Scheduler.cc.o
[ 16%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/LockManager.cc.o
[ 18%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/Semaphore.cc.o
[ 19%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/Thread.cc.o
[ 20%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/initialiseMultitasking.cc.o
[ 22%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/RoundRobin.cc.o
[ 23%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/process/Process.cc.o
[ 24%] Building ASM-ATT object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/asm/InterruptManager.s.o
[ 25%] Building ASM-ATT object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/asm/Processor.s.o
[ 27%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/InterruptManager.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/InterruptManager.cc:25:
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: 'class OFDevice' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: but does not override 'OFDevice(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: or 'operator=(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/InterruptManager.cc: In static member function 'static void PPC32InterruptManager::initialiseProcessor()':
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/InterruptManager.cc:87: warning: unused variable 'ret'
[ 28%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/Processor.cc.o
[ 29%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/StackFrame.cc.o
[ 31%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/state.cc.o
[ 32%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc32/VirtualAddressSpace.cc.o
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc: In member function 'virtual bool PPC32VirtualAddressSpace::map(physical_uintptr_t, void*, size_t)':
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc:65: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc: In member function 'virtual bool PPC32VirtualAddressSpace::isMapped(void*)':
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc:59: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc: At global scope:
/home/jamesmol/pedigree/src/system/kernel/core/processor/ppc32/VirtualAddressSpace.cc:25: warning: 'g_Kseg2Initialised' defined but not used
[ 33%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc_common/Disassembler.cc.o
[ 35%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc_common/Processor.cc.o
[ 36%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/ppc_common/PhysicalMemoryManager.cc.o
[ 37%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/PhysicalMemoryManager.cc.o
[ 38%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/IoPort.cc.o
[ 40%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/IoPortManager.cc.o
[ 41%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/Processor.cc.o
[ 42%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/StackFrameBase.cc.o
[ 44%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/processor/VirtualAddressSpace.cc.o
[ 45%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/main.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/core/main.cc:43:
/home/jamesmol/pedigree/src/system/kernel/./Archive.h:27: warning: 'class Archive' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/./Archive.h:27: warning: but does not override 'Archive(const Archive&)'
/home/jamesmol/pedigree/src/system/kernel/./Archive.h:27: warning: or 'operator=(const Archive&)'
/home/jamesmol/pedigree/src/system/kernel/core/main.cc: In function 'void _main(BootstrapStruct_t*)':
/home/jamesmol/pedigree/src/system/kernel/core/main.cc:145: warning: unused variable 'stackBase'
[ 46%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/core/BootIO.cc.o
[ 48%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/Backtracer.cc.o
[ 49%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/BreakpointCommand.cc.o
[ 50%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/CpuInfoCommand.cc.o
[ 51%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/DisassembleCommand.cc.o
[ 53%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/DumpCommand.cc.o
[ 54%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/LogViewer.cc.o
[ 55%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/MemoryInspector.cc.o
/home/jamesmol/pedigree/src/system/kernel/debugger/commands/MemoryInspector.cc:282:2: warning: #warning is a GCC extension
/home/jamesmol/pedigree/src/system/kernel/debugger/commands/MemoryInspector.cc:282:2: warning: #warning Big endian people will have problems here.
[ 57%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/PanicCommand.cc.o
[ 58%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/StepCommand.cc.o
[ 59%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/TraceCommand.cc.o
[ 61%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/QuitCommand.cc.o
[ 62%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/IoCommand.cc.o
[ 63%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/commands/ThreadsCommand.cc.o
[ 64%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/Backtrace.cc.o
[ 66%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/Debugger.cc.o
[ 67%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/DebuggerIO.cc.o
[ 68%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/DwarfCfiAutomaton.cc.o
[ 70%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/DwarfUnwinder.cc.o
/home/jamesmol/pedigree/src/system/kernel/debugger/DwarfUnwinder.cc: In member function 'bool DwarfUnwinder::unwind(const ProcessorState&, ProcessorState&, uintptr_t&)':
/home/jamesmol/pedigree/src/system/kernel/debugger/DwarfUnwinder.cc:171: warning: unused variable 'nReturnAddressRegister'
[ 71%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/LocalIO.cc.o
[ 72%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/panic.cc.o
[ 74%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/Scrollable.cc.o
[ 75%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/debugger/SerialIO.cc.o
[ 76%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/linker/Elf32.cc.o
[ 77%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/linker/KernelElf.cc.o
[ 79%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/mac/Mac.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.h:22,
from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc:17:
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Vga.h:45: warning: 'class PPCVga' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Vga.h:45: warning: but does not override 'PPCVga(const PPCVga&)'
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Vga.h:45: warning: or 'operator=(const PPCVga&)'
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Keyboard.h:22,
from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.h:23,
from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc:17:
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: 'class OFDevice' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: but does not override 'OFDevice(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: or 'operator=(const OFDevice&)'
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.h:23,
from /home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc:17:
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Keyboard.h:25: warning: 'class PPCKeyboard' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Keyboard.h:25: warning: but does not override 'PPCKeyboard(const PPCKeyboard&)'
/home/jamesmol/pedigree/src/system/kernel/machine/mac/../ppc_common/Keyboard.h:25: warning: or 'operator=(const PPCKeyboard&)'
/home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc: In constructor 'Mac::Mac()':
/home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc:68: warning: 'Mac::m_Vga' should be initialized in the member initialization list
/home/jamesmol/pedigree/src/system/kernel/machine/mac/Mac.cc:68: warning: 'Mac::m_Keyboard' should be initialized in the member initialization list
[ 80%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/ppc_common/Keyboard.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.h:22,
from /home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.cc:17:
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: 'class OFDevice' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: but does not override 'OFDevice(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: or 'operator=(const OFDevice&)'
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.cc:17:
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.h:25: warning: 'class PPCKeyboard' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.h:25: warning: but does not override 'PPCKeyboard(const PPCKeyboard&)'
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Keyboard.h:25: warning: or 'operator=(const PPCKeyboard&)'
[ 81%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/ppc_common/Machine.cc.o
[ 83%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/ppc_common/Serial.cc.o
[ 84%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/ppc_common/Vga.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:17:
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.h:45: warning: 'class PPCVga' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.h:45: warning: but does not override 'PPCVga(const PPCVga&)'
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.h:45: warning: or 'operator=(const PPCVga&)'
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:19:
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: 'class OFDevice' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: but does not override 'OFDevice(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: or 'operator=(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc: In member function 'void PPCVga::initialise()':
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:87: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:94: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc: In member function 'virtual void PPCVga::pokeBuffer(uint8_t*, size_t)':
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:116: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:118: warning: comparison between signed and unsigned integer expressions
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc: In member function 'void PPCVga::putChar(char, int, int, unsigned int, unsigned int)':
/home/jamesmol/pedigree/src/system/kernel/machine/ppc_common/Vga.cc:141: warning: use of old-style cast
[ 85%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/openfirmware/OpenFirmware.cc.o
[ 87%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/machine/openfirmware/Device.cc.o
In file included from /home/jamesmol/pedigree/src/system/kernel/machine/openfirmware/Device.cc:17:
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: 'class OFDevice' has pointer data members
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: but does not override 'OFDevice(const OFDevice&)'
/home/jamesmol/pedigree/src/system/kernel/../include/machine/openfirmware/Device.h:28: warning: or 'operator=(const OFDevice&)'
[ 88%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/utilities/List.cc.o
[ 89%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/utilities/String.cc.o
[ 90%] Building CXX object src/system/kernel/CMakeFiles/kernel.dir/utilities/Vector.cc.o
Linking CXX executable kernel
[ 90%] Built target kernel
Scanning dependencies of target autogen.h
[ 90%] Built target autogen.h
[ 92%] Building ASM-ATT object src/system/boot/ppc/CMakeFiles/bootloader.dir/boot.s.o
[ 93%] Building CXX object src/system/boot/ppc/CMakeFiles/bootloader.dir/main.cc.o
/home/jamesmol/pedigree/src/system/boot/ppc/main.cc: In function 'void _start(long unsigned int, long unsigned int, long unsigned int)':
/home/jamesmol/pedigree/src/system/boot/ppc/main.cc:101: warning: unused variable 'a'
[ 94%] Building CXX object src/system/boot/ppc/CMakeFiles/bootloader.dir/prom.cc.o
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'void prom_init(int (*)(prom_args*))':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:42: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:44: warning: deprecated conversion from string constant to 'char*'
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:46: warning: deprecated conversion from string constant to 'char*'
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:49: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'void* prom_finddevice(const char*)':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:55: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'int prom_getprop(void*, char*, void*, int)':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:65: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:65: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:65: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'void prom_putchar(char)':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:71: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:71: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:73: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:73: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'void prom_map(unsigned int, unsigned int, unsigned int)':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:78: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc: In function 'int prom_exit()':
/home/jamesmol/pedigree/src/system/boot/ppc/prom.cc:61: warning: control reaches end of non-void function
[ 96%] Building CXX object src/system/boot/ppc/CMakeFiles/bootloader.dir/Elf32.cc.o
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In function 'int memset(void*, int, size_t)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:32: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In function 'void memcpy(void*, const void*, size_t)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:41: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:42: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'bool Elf32::load(uint8_t*, unsigned int)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:94: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'bool Elf32::writeSections()':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:171: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:178: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'const char* Elf32::lookupSymbol(unsigned int, unsigned int*)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:193: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:223: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'uint32_t Elf32::getGlobalOffsetTable()':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:237: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'char* Elf32::lookupDynamicSymbolName(uint32_t)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:233: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'uint32_t Elf32::lookupDynamicSymbolAddress(uint32_t)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:229: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'unsigned int Elf32::getLastAddress()':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:188: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In member function 'bool Elf32::writeSections()':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:184: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In function 'int memset(void*, int, size_t)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:37: warning: control reaches end of non-void function
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc: In function 'int strncpy(char*, const char*, int)':
/home/jamesmol/pedigree/src/system/boot/ppc/Elf32.cc:29: warning: control reaches end of non-void function
[ 97%] Building CXX object src/system/boot/ppc/CMakeFiles/bootloader.dir/Vga.cc.o
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc: In function 'void vga_init()':
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:35: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:35: warning: deprecated conversion from string constant to 'char*'
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:41: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:48: warning: use of old-style cast
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:48: warning: suggest parentheses around + or - in operand of &
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc: In function 'void vga_putchar(char, int, int, short unsigned int, short unsigned int, short unsigned int*)':
/home/jamesmol/pedigree/src/system/boot/ppc/Vga.cc:55: warning: use of old-style cast
Linking CXX executable bootloader
[ 97%] Built target bootloader
Scanning dependencies of target test3.o
[ 98%] Building CXX object src/system/modules/test3/CMakeFiles/test3.o.dir/test.cc.o
/home/jamesmol/pedigree/src/system/modules/test3/test.cc: In function 'int mysym()':
/home/jamesmol/pedigree/src/system/modules/test3/test.cc:7: warning: control reaches end of non-void function
Linking CXX executable test3.o
[ 98%] Built target test3.o
Scanning dependencies of target test2.o
[100%] Building CXX object src/system/modules/test2/CMakeFiles/test2.o.dir/test.cc.o
/home/jamesmol/pedigree/src/system/modules/test2/test.cc: In function 'int mysym()':
/home/jamesmol/pedigree/src/system/modules/test2/test.cc:7: warning: control reaches end of non-void function
Linking CXX executable test2.o
[100%] Built target test2.o
Scanning dependencies of target initrd
[100%] Built target initrd
Scanning dependencies of target create_images
[100%] Built target create_images
real 0m28.635s
user 0m17.293s
sys 0m2.276s
Hostname.CmpXchg wrote: Dear me, what is "aubergine" supposed to mean here?
For example, my laptop is valkyrie, and I remote-administrate several other systems, named baldur, thor, and heimdall respectively. When I log in to one of them, the command prompt tells me which one I'm currently on.
Every good solution is obvious once you've found it.
Hi,CmpXchg wrote:_JamesM:
Well, I've never developed an OS myself. For me this looks very impressive! Is it all controlled by a single makefile?
Dear me, what is "aubergine" supposed to mean here?
No, actually we use CMake which is a replacement for autoconf. It's autoconf, but not a bag of crap, basically.
CMake generates makefiles for you based on input parameters you give it - the "configure" stage.
Like this:
Then you can just use the standard "make", "make clean" etc commands, and it'll generate all your executables for you.
"aubergine" is the machine name of my work box.
The output is nice and colourful too, especially when mixed with colorgcc.pl like I have...
Cheers,
James
- CmpXchg
- Member
- Posts: 61
- Joined: Mon Apr 28, 2008 12:14 pm
- Location: Petrozavodsk, Russia during school months, Vänersborg Sweden in the summertime
Hi everyone again!
Thanks for the replies!
Btw, I like the pictures, especially the one with output. I've saved them to remind me that someday I should also try to roll my own OS... What maketool would you advice to use under Windows?
Have to admit I don't know what clean compile means...
Does it mean every source file is recompiled, instead of making, which only compiles the files that have changed? (only a guess)
Thanks for the replies!
It's all done under Linux, I guess? 'make' is standard in Linux, not in Windows, unfortunately.Solar wrote:When I log in to one of them, the command prompt tells me which one I'm currently on.
Btw, I like the pictures, especially the one with output. I've saved them to remind me that someday I should also try to roll my own OS... What maketool would you advice to use under Windows?
Have to admit I don't know what clean compile means...
Does it mean every source file is recompiled, instead of making, which only compiles the files that have changed? (only a guess)
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
3 seconds...for a full rebuild.
10 seconds for only the linux kernel (the shortest).
The whole thing takes much longer.
-JL
10 seconds for only the linux kernel (the shortest).
The whole thing takes much longer.
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Yes, make is a UNIX tool. On windows, I would recommend using... Make! Use cygwin.CmpXchg wrote:Hi everyone again!
Thanks for the replies!
It's all done under Linux, I guess? 'make' is standard in Linux, not in Windows, unfortunately.Solar wrote:When I log in to one of them, the command prompt tells me which one I'm currently on.
Btw, I like the pictures, especially the one with output. I've saved them to remind me that someday I should also try to roll my own OS... What maketool would you advice to use under Windows?
Have to admit I don't know what clean compile means...
Does it mean every source file is recompiled, instead of making, which only compiles the files that have changed? (only a guess)
A Clean compile is when you "make clean" first, which deletes all cached object files, forcing a recompile of every file, not just the ones which have changed.
Check Cygwin.CmpXchg wrote:It's all done under Linux, I guess? 'make' is standard in Linux, not in Windows, unfortunately.
For starters, single Makefile. Use autoconf / CMake / other meta-tools only when you know you need them, and why.What maketool would you advice to use under Windows?
You guessed correctly.Have to admit I don't know what clean compile means...
Does it mean...
Every good solution is obvious once you've found it.
nmake? comes standard with Visual Studio 2003 / 2005 (assuming that you're using the Microsoft tools)... I assume it (or something else) also comes with 2008.CmpXchg wrote: 'make' is standard in Linux, not in Windows, unfortunately.
...
What maketool would you advice to use under Windows?
I'm pretty sure there are also third party build tools available if nmake wouldn't suffice for some reason.
- Rob