autoconf for OSdev?
autoconf for OSdev?
Well, for the past week I've been trying to get autoconf/make to work with my OS (written in C and ASM using nasm, gcc under cygwin).
I've used autoconf before but that was with a 'typical' C project which was much simpler to compile than an OS (which requires special compile flags, linker scripts, an assembler, etc.)
So I was wondering: Who here uses autoconf and automake, why, and could explain to me in what amazing way they got it to work?
I've used autoconf before but that was with a 'typical' C project which was much simpler to compile than an OS (which requires special compile flags, linker scripts, an assembler, etc.)
So I was wondering: Who here uses autoconf and automake, why, and could explain to me in what amazing way they got it to work?
None of those. I use nasm for the bootloader, and MSVC++ to build the projects and kernel.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Other: I use both a shell script and a makefile.
The shell script cd's into the kernel directory, runs make, and updates the image file with a loop device.
It's easier to deal then programming that into the makefile (for me).
-JL
The shell script cd's into the kernel directory, runs make, and updates the image file with a loop device.
It's easier to deal then programming that into the makefile (for me).
-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
I use a custom makefile, I find it much simpler than using autoconf/make.
For this to work you need to add a line like this to /etc/fstab:
Makefiles are pretty much shell scripts, this is what I use for installing to floppy (blackthunder is the kernel)piranha wrote:The shell script cd's into the kernel directory, runs make, and updates the image file with a loop device.
It's easier to deal then programming that into the makefile (for me).
Code: Select all
install : blackthunder grub.img
@echo Installing kernel to floppy image...
@mount grub.img
@cp blackthunder /mnt/floppy/
@umount grub.img
@echo "...done"
Code: Select all
/full/path/to/grub.img /mnt/floppy vfat loop,user,noauto 0 0
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Ah. But if you change the path to grub.img then you have to deal with other stuff too.
I don't know, makfiles are useful, but they annoy me too.
-JL
I don't know, makfiles are useful, but they annoy me too.
-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
Hi,
I use shell scripts and my own "system build utility", which replaces make, gets dependancies from the source code instead of using makefiles, generates HTML documentation and does some other things for me (hex dump, disassembly, etc).
Cheers,
Brendan
I use shell scripts and my own "system build utility", which replaces make, gets dependancies from the source code instead of using makefiles, generates HTML documentation and does some other things for me (hex dump, disassembly, etc).
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
- Steve the Pirate
- Member
- Posts: 152
- Joined: Fri Dec 15, 2006 7:01 am
- Location: Brisbane, Australia
- Contact: