Add libpng/zlib to the toolchain

* Also some minor updates to the toolchain in general.
* Replacing the old bitmap wallpaper (not the actual wallpaper, but the
  terminal one) with a fresh new wallpaper as a PNG.
This commit is contained in:
Kevin Lange 2012-09-12 20:06:22 -07:00
parent 03181de68b
commit 46d8f11c88
7 changed files with 88 additions and 13 deletions

38
TODO.md
View File

@ -1,10 +1,22 @@
# TODO for 0.4.0 Distribution Release
* CD support
* Boot from "CD"
* Distribute with Grub
* CD image generator in-repo
* User Interface
* Graphical Login
* More applications
* Stable Harddisk writes
* Screenshot functionality
* Attempt an installer?
# TODO as of Septemember 2012
## C++
* Build with C++ support
## Terminal Fixes ##
* Investigate issues with slow terminal pipes (`yes` running amok)
* Mouse features; mouse support in windowed mode
* Tab completion in shell (this is mostly a shell-specific thing)
@ -27,6 +39,30 @@
* Also port genext2fs.
* Directory support needs to be better integrated into the C library still
## Microkernal Readiness
* Deprecate ramdisks
* Haven't used them in development in over a year
* Not useful anywhere else due to their limiting sizes
* Implement module execution
* Instead of loading a ramdisk, modules should be standard binaries
* The binaries will be executed in a new "service mode"
* Implement "servicespace"
* Userspace, but at a different ring
* Special access features, like extended port access
* Higher priority scheduling
### Services to Implement
* PCI Service
* Graphics Management Service
* Compositor as a service?
* Virtual File System Service
Heh... Consider writing some of these in better languages than C. May a D servicespace?
TODO: Get D working.
## Old I/O goals
### I/O

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

BIN
hdd/usr/share/wallpaper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -61,4 +61,20 @@ pushd build
make || bail
make install || bail
popd
#
# XXX zlib can not be built in a separate directory
#
pushd ../tarballs/zlib*
CC=i686-pc-toaru-gcc ./configure --static --prefix=$PREFIX/$TARGET --solo || bail
make || bail
make install || bail
popd
if [ ! -d libpng ]; then
mkdir libpng
fi
pushd libpng
$DIR/tarballs/libpng-1.5.12/configure --host=$TARGET --prefix=$PREFIX/$TARGET || bail
make || bail
make install || bail
popd
popd

View File

@ -0,0 +1,11 @@
diff -rupN original/config.sub new/config.sub
--- original/config.sub 2012-03-08 15:09:13.000000000 -0500
+++ new/config.sub 2012-05-17 11:40:42.308339450 -0400
@@ -1338,6 +1338,7 @@ case $os in
| -sym* | -kopensolaris* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
+ | -toaru* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \

View File

@ -10,9 +10,13 @@ END=$DIR/../util/mk-end
INFO=$DIR/../util/mk-info
function grab () {
$BEG "wget" "Pulling $1..."
wget -q "$2"
$END "wget" "$1"
$BEG "wget" "Pulling $1... [$2/$3]"
if [ ! -f "$3" ]; then
wget -q "$2/$3"
$END "wget" "$1"
else
$END "-" "Already have a $1"
fi
}
function deco () {
@ -47,14 +51,17 @@ pushd "$DIR" > /dev/null
fi
pushd tarballs > /dev/null
$INFO "wget" "Pulling source packages..."
grab "gcc" "http://gcc.petsads.us/releases/gcc-4.6.0/gcc-4.6.0.tar.gz"
grab "mpc" "http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz"
grab "mpfr" "http://www.mpfr.org/mpfr-3.0.1/mpfr-3.0.1.tar.gz"
grab "gmp" "ftp://ftp.gmplib.org/pub/gmp-5.0.1/gmp-5.0.1.tar.gz"
grab "binutils" "http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.gz"
grab "newlib" "ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz"
grab "freetype" "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.9.tar.gz"
grab "gcc" "http://gcc.petsads.us/releases/gcc-4.6.0" "gcc-4.6.0.tar.gz"
grab "mpc" "http://www.multiprecision.org/mpc/download" "mpc-0.9.tar.gz"
grab "mpfr" "http://www.mpfr.org/mpfr-3.0.1" "mpfr-3.0.1.tar.gz"
grab "gmp" "ftp://ftp.gmplib.org/pub/gmp-5.0.1" "gmp-5.0.1.tar.gz"
grab "binutils" "http://ftp.gnu.org/gnu/binutils" "binutils-2.22.tar.gz"
grab "newlib" "ftp://sources.redhat.com/pub/newlib" "newlib-1.19.0.tar.gz"
grab "freetype" "http://download.savannah.gnu.org/releases/freetype" "freetype-2.4.9.tar.gz"
grab "zlib" "http://zlib.net" "zlib-1.2.7.tar.gz"
grab "libpng" "ftp://ftp.simplesystems.org/pub/libpng/png/src" "libpng-1.5.12.tar.gz"
$INFO "wget" "Pulled source packages."
rm -rf "binutils-2.22" "freetype-2.4.9" "gcc-4.6.0" "gmp-5.0.1" "libpng-1.5.12" "mpc-0.9" "mpfr-3.0.1" "newlib-1.19.0" "zlib-1.2.7"
$INFO "tar" "Decompressing..."
deco "gcc" "gcc-4.6.0.tar.gz"
deco "mpc" "mpc-0.9.tar.gz"
@ -63,6 +70,8 @@ pushd "$DIR" > /dev/null
deco "binutils" "binutils-2.22.tar.gz"
deco "newlib" "newlib-1.19.0.tar.gz"
deco "freetype" "freetype-2.4.9.tar.gz"
deco "zlib" "zlib-1.2.7.tar.gz"
deco "libpng" "libpng-1.5.12.tar.gz"
$INFO "tar" "Decompressed source packages."
$INFO "patch" "Patching..."
patc "gcc" "gcc-4.6.0"
@ -72,6 +81,7 @@ pushd "$DIR" > /dev/null
patc "binutils" "binutils-2.22"
patc "newlib" "newlib-1.19.0"
patc "freetype" "freetype-2.4.9"
patc "libpng" "libpng-1.5.12"
$INFO "patch" "Patched third-party software."
$INFO "--" "Running additional bits..."
deleteUnusedGCC "gcc-4.6.0"

View File

@ -1,6 +1,6 @@
CC = i686-pc-toaru-gcc
CPP = i686-pc-toaru-g++
CFLAGS = -std=c99 -U__STRICT_ANSI__ -O3 -m32 -Wa,--32 -Xlinker --eh-frame-hdr
CFLAGS = -std=c99 -U__STRICT_ANSI__ -O3 -m32 -Wa,--32
CPPFLAGS = -O3 -m32 -Wa,--32
EXTRAFLAGS = -g
EXECUTABLES = $(patsubst %.c,%.o,$(wildcard lib/*.c)) $(patsubst %.c,../hdd/bin/%,$(wildcard *.c)) $(patsubst %.cpp,../hdd/bin/%,$(wildcard *.cpp))
@ -18,7 +18,9 @@ TOOLCHAIN= ../toolchain/local/i686-pc-toaru
FREETYPE_INC = -I ${TOOLCHAIN}/include/freetype2/
FREETYPE_LIB = ${TOOLCHAIN}/lib/libfreetype.a
LIBPNG = ${TOOLCHAIN}/lib/libpng.a
LIBM = ${TOOLCHAIN}/lib/libm.a
LIBZ = ${TOOLCHAIN}/lib/libz.a
TARGETDIR = ../hdd/bin/
ETARGETS = terminal login compositor view game-win drawlines glogin julia-win solver wallpaper panel glock clock-win draw test-gfx threadtest bim
@ -35,7 +37,7 @@ clean:
${FTARGETS}: $(TARGETDIR)% : %.c lib/graphics.o lib/list.o lib/window.o lib/sha2.o lib/decorations.o lib/pthread.o lib/shmemfonts.o lib/wcwidth.o
@${BEG} "CC" "$@ $< [w/libs]"
@${CC} ${CFLAGS} ${EXTRAFLAGS} ${FREETYPE_INC} -o $@ $< lib/graphics.o lib/list.o lib/window.o lib/sha2.o lib/decorations.o lib/pthread.o lib/shmemfonts.o lib/wcwidth.o ${LIBM} ${FREETYPE_LIB} ${ERRORS}
@${CC} -flto ${CFLAGS} ${EXTRAFLAGS} ${FREETYPE_INC} -o $@ $< lib/graphics.o lib/list.o lib/window.o lib/sha2.o lib/decorations.o lib/pthread.o lib/shmemfonts.o lib/wcwidth.o ${LIBM} ${FREETYPE_LIB} ${LIBPNG} ${LIBZ} ${ERRORS}
@${END} "CC" "$< [w/libs]"
$(TARGETDIR)%: %.cpp