
modified: compiler/create_crosscompiler.sh deleted: notes modified: src/.gdb_history deleted: src/amd64_vol2.pdf modified: src/bootloader/bios_functions/bios_disk.asm modified: src/bootloader/bios_functions/print.asm modified: src/bootloader/bootloader.asm modified: src/bootloader/cpu_check.asm modified: src/bootloader/enter_kernel.asm deleted: src/bootloader/enter_kernel_backup modified: src/bootloader/gdt.asm deleted: src/bootloader/multicore.asm deleted: src/bootloader/notes new file: src/debug/gdbinit.gdb deleted: src/indigo_os modified: src/kernel/include/libc.h modified: src/kernel/include/paging.h modified: src/kernel/include/video.h modified: src/kernel/kernel.c modified: src/kernel/libs/acpi.c modified: src/kernel/libs/drivers/serial.c modified: src/kernel/libs/drivers/video.c modified: src/kernel/libs/libc.c modified: src/kernel/libs/page.c modified: src/link.ld modified: src/makefile new file: tools/README.md modified: tools/page/page.py
44 lines
1.3 KiB
Bash
Executable File
44 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
export PREFIX=/home/indigo/projects/small/indigo_os/compiler/indigo_gcc
|
|
export TARGET=x86_64-elf
|
|
export PATH="$PREFIX/bin:$PATH"
|
|
|
|
export JOBS=7
|
|
|
|
mkdir -p indigo_gcc/
|
|
mkdir -p src/
|
|
|
|
mkdir src/packs
|
|
mkdir src/build_binutils
|
|
mkdir src/build_gcc
|
|
|
|
|
|
|
|
#download the latest binutils
|
|
lftp -c "set xfer:clobber on; connect ftp.gnu.org; get -O src/packs/ gnu/binutils/$(lftp -c 'connect ftp.gnu.org; ls gnu/binutils/binutils*.tar.gz' | awk '{print $NF}' | sort -V | tail -n 1)"
|
|
|
|
#download gcc
|
|
# TODO clean up this script so we only need one connection
|
|
|
|
latest_gcc=$(lftp -c 'connect ftp.gnu.org; ls -d gnu/gcc/gcc-*' | grep -E "^d" | awk '{print $NF}' | sort -V | tail -1)
|
|
lftp -c "set xfer:clobber on; connect ftp.gnu.org; get -O src/packs/ gnu/gcc/$latest_gcc/$latest_gcc.tar.gz"
|
|
|
|
cd src/packs/
|
|
|
|
for f in *tar.gz; do
|
|
tar -xf "$f"
|
|
done
|
|
|
|
cd ../build_binutils
|
|
../packs/binutils-*/configure --target=$TARGET --enable-interwork --enable-multilib --disable-nls --disable-werror --prefix="$PREFIX" &&
|
|
make -j$JOBS all install 2>&1 | tee binutils_build_log
|
|
make install
|
|
|
|
cd ../build_gcc
|
|
../packs/gcc-*/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --disable-libssp --enable-languages=c --without-headers &&
|
|
make -j$JOBS all-gcc &&
|
|
make -j$JOBS all-target-libgcc &&
|
|
make install-gcc
|
|
make install-target-libgcc
|
|
|