mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-17 16:28:06 +03:00
More compat work. Rename libraries from LibFoo.a => libfoo.a
This makes it more straightforward to build a cross-compiler toolchain. Also move math stuff from LibC to LibM.
This commit is contained in:
parent
cccc8d8aeb
commit
3f29a12d90
Notes:
sideshowbarker
2024-07-19 15:37:22 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/3f29a12d902
@ -15,11 +15,12 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STA
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
LDFLAGS = -L../../LibC -L../../LibGUI
|
||||
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../../LibGUI/LibGUI.a ../../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -16,11 +16,12 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STA
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
LDFLAGS = -L../../LibC -L../../LibGUI
|
||||
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../../LibGUI/LibGUI.a ../../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -16,11 +16,12 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STA
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
LDFLAGS = -L../../LibC -L../../LibGUI
|
||||
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../../LibGUI/LibGUI.a ../../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -15,11 +15,12 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STA
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
LDFLAGS = -L../../LibC -L../../LibGUI
|
||||
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../../LibGUI/LibGUI.a ../../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -16,11 +16,12 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STA
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
LDFLAGS = -L../../LibC -L../../LibGUI
|
||||
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../../LibGUI/LibGUI.a ../../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lgui -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <AK/Types.h>
|
||||
#include <LibC/fd_set.h>
|
||||
|
||||
#define ENUMERATE_SYSCALLS \
|
||||
__ENUMERATE_SYSCALL(sleep) \
|
||||
@ -83,10 +84,6 @@
|
||||
__ENUMERATE_SYSCALL(link) \
|
||||
|
||||
|
||||
#ifdef SERENITY
|
||||
struct fd_set;
|
||||
#endif
|
||||
|
||||
namespace Syscall {
|
||||
|
||||
enum Function {
|
||||
|
@ -1,8 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#define FD_SETSIZE 64
|
||||
struct fd_set { unsigned char bits[FD_SETSIZE / 8]; };
|
||||
|
||||
#define WNOHANG 1
|
||||
|
||||
#define SIG_DFL ((void*)0)
|
||||
|
@ -4,8 +4,15 @@ sudo id
|
||||
|
||||
make_cmd="make -j2"
|
||||
|
||||
rm -r ../Root/usr && \
|
||||
$make_cmd -C ../LibC clean && \
|
||||
$make_cmd -C ../LibC && \
|
||||
(cd ../LibC && ./install.sh) && \
|
||||
$make_cmd -C ../LibM clean && \
|
||||
$make_cmd -C ../LibM && \
|
||||
(cd ../LibM && ./install.sh) && \
|
||||
$make_cmd -C ../LibM clean && \
|
||||
$make_cmd -C ../LibM clean && \
|
||||
$make_cmd -C ../LibGUI clean && \
|
||||
$make_cmd -C ../LibGUI && \
|
||||
$make_cmd -C ../Userland clean && \
|
||||
|
2
LibC/.gitignore
vendored
2
LibC/.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
*.o
|
||||
*.no
|
||||
*.d
|
||||
LibC.a
|
||||
libc.a
|
||||
|
@ -32,7 +32,6 @@ LIBC_OBJS = \
|
||||
ulimit.o \
|
||||
qsort.o \
|
||||
ioctl.o \
|
||||
math.o \
|
||||
utime.o \
|
||||
sys/select.o \
|
||||
sys/socket.o \
|
||||
@ -45,7 +44,7 @@ ASM_OBJS = setjmp.no
|
||||
|
||||
CPP_OBJS = $(AK_OBJS) $(WIDGETS_OBJS) $(LIBC_OBJS)
|
||||
|
||||
LIBRARY = LibC.a
|
||||
LIBRARY = libc.a
|
||||
STANDARD_FLAGS = -std=c++17
|
||||
WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fallthrough
|
||||
FLAVOR_FLAGS = -fno-exceptions -fno-rtti
|
||||
|
13
LibC/fd_set.h
Normal file
13
LibC/fd_set.h
Normal file
@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#define FD_SETSIZE 64
|
||||
#define FD_ZERO(set) memset((set), 0, sizeof(fd_set));
|
||||
#define FD_CLR(fd, set) ((set)->bits[(fd / 8)] &= ~(1 << (fd) % 8))
|
||||
#define FD_SET(fd, set) ((set)->bits[(fd / 8)] |= (1 << (fd) % 8))
|
||||
#define FD_ISSET(fd, set) ((set)->bits[(fd / 8)] & (1 << (fd) % 8))
|
||||
|
||||
struct __fd_set {
|
||||
unsigned char bits[FD_SETSIZE / 8];
|
||||
};
|
||||
|
||||
typedef struct __fd_set fd_set;
|
@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p ../Root/usr/include/sys/
|
||||
mkdir -p ../Root/usr/lib/
|
||||
cp *.h ../Root/usr/include/
|
||||
cp sys/*.h ../Root/usr/include/sys/
|
||||
cp libc.a ../Root/usr/lib/
|
@ -1,14 +0,0 @@
|
||||
#include <math.h>
|
||||
#include <assert.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
double pow(double x, double y)
|
||||
{
|
||||
(void) x;
|
||||
(void) y;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,21 +3,10 @@
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
#include <string.h>
|
||||
#include <fd_set.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define FD_SETSIZE 64
|
||||
#define FD_ZERO(set) memset((set), 0, sizeof(fd_set));
|
||||
#define FD_CLR(fd, set) ((set)->bits[(fd / 8)] &= ~(1 << (fd) % 8))
|
||||
#define FD_SET(fd, set) ((set)->bits[(fd / 8)] |= (1 << (fd) % 8))
|
||||
#define FD_ISSET(fd, set) ((set)->bits[(fd / 8)] & (1 << (fd) % 8))
|
||||
|
||||
struct __fd_set {
|
||||
unsigned char bits[FD_SETSIZE / 8];
|
||||
};
|
||||
|
||||
typedef struct __fd_set fd_set;
|
||||
|
||||
int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, struct timeval* timeout);
|
||||
|
||||
__END_DECLS
|
||||
|
2
LibGUI/.gitignore
vendored
2
LibGUI/.gitignore
vendored
@ -1,3 +1,3 @@
|
||||
*.o
|
||||
*.d
|
||||
LibGUI.a
|
||||
libgui.a
|
||||
|
@ -32,9 +32,9 @@ LIBGUI_OBJS = \
|
||||
|
||||
OBJS = $(SHAREDGRAPHICS_OBJS) $(LIBGUI_OBJS)
|
||||
|
||||
LIBS = ../LibC/LibC.a
|
||||
LIBS = -lc
|
||||
|
||||
LIBRARY = LibGUI.a
|
||||
LIBRARY = libgui.a
|
||||
STANDARD_FLAGS = -std=c++17
|
||||
WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fallthrough
|
||||
FLAVOR_FLAGS = -fno-exceptions -fno-rtti
|
||||
|
3
LibM/.gitignore
vendored
Normal file
3
LibM/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.o
|
||||
*.d
|
||||
libm.a
|
32
LibM/Makefile
Normal file
32
LibM/Makefile
Normal file
@ -0,0 +1,32 @@
|
||||
OBJS = math.o
|
||||
|
||||
LIBRARY = libm.a
|
||||
STANDARD_FLAGS = -std=c++17
|
||||
WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fallthrough
|
||||
FLAVOR_FLAGS = -fno-exceptions -fno-rtti
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
INCLUDE_FLAGS = -I.. -I.
|
||||
|
||||
DEFINES = -DSERENITY -DUSERLAND -DSANITIZE_PTRS
|
||||
|
||||
CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(STANDARD_FLAGS) $(INCLUDE_FLAGS) $(DEFINES)
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-ar
|
||||
|
||||
all: $(LIBRARY)
|
||||
|
||||
$(LIBRARY): $(OBJS)
|
||||
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
%.no: %.asm
|
||||
@echo "NASM $@"; nasm -f elf -o $@ $<
|
||||
|
||||
-include $(OBJS:%.o=%.d)
|
||||
|
||||
clean:
|
||||
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
|
||||
|
6
LibM/install.sh
Executable file
6
LibM/install.sh
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p ../Root/usr/include/sys/
|
||||
mkdir -p ../Root/usr/lib/
|
||||
cp *.h ../Root/usr/include/
|
||||
cp libm.a ../Root/usr/lib/
|
23
LibM/math.cpp
Normal file
23
LibM/math.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
#include <LibC/assert.h>
|
||||
#include <LibM/math.h>
|
||||
|
||||
extern "C" {
|
||||
|
||||
double cos(double)
|
||||
{
|
||||
assert(false);
|
||||
}
|
||||
|
||||
double sin(double)
|
||||
{
|
||||
assert(false);
|
||||
}
|
||||
|
||||
double pow(double x, double y)
|
||||
{
|
||||
(void)x;
|
||||
(void)y;
|
||||
assert(false);
|
||||
}
|
||||
|
||||
}
|
@ -82,110 +82,111 @@ CXXFLAGS = -MMD -MP $(WARNING_FLAGS) $(OPTIMIZATION_FLAGS) $(FLAVOR_FLAGS) $(ARC
|
||||
CXX = i686-pc-serenity-g++
|
||||
LD = i686-pc-serenity-ld
|
||||
AR = i686-pc-serenity-r
|
||||
LDFLAGS = -L ../LibC
|
||||
|
||||
all: $(OBJS) $(APPS)
|
||||
|
||||
id: id.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
sh: sh.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
ps: ps.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
ls: ls.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
fgrep: fgrep.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
sleep: sleep.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
date: date.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
true: true.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
false: false.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
hostname: hostname.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
cat: cat.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
uname: uname.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
clear: clear.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
tst: tst.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
mm: mm.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
dmesg: dmesg.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
kill: kill.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
tty: tty.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
mkdir: mkdir.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
touch: touch.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
sync: sync.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
more: more.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
guitest2: guitest2.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibGUI/LibGUI.a ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) -L../LibGUI $< -lgui -lc
|
||||
|
||||
sysctl: sysctl.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
pape: pape.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
cp: cp.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
rm: rm.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
rmdir: rmdir.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
chmod: chmod.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
top: top.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
ln: ln.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
df: df.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
su: su.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
env: env.o
|
||||
$(LD) -o $@ $(LDFLAGS) $< ../LibC/LibC.a
|
||||
$(LD) -o $@ $(LDFLAGS) $< -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
@ -27,6 +27,7 @@ WARNING_FLAGS = -Wextra -Wall -Wundef -Wcast-qual -Wwrite-strings -Wimplicit-fal
|
||||
FLAVOR_FLAGS = -fno-exceptions -fno-rtti
|
||||
OPTIMIZATION_FLAGS = -Os
|
||||
INCLUDE_FLAGS = -I.. -I. -I../LibC
|
||||
LDFLAGS = -L../LibC
|
||||
|
||||
DEFINES = -DSERENITY -DSANITIZE_PTRS -DUSERLAND
|
||||
|
||||
@ -38,7 +39,7 @@ AR = i686-pc-serenity-ar
|
||||
all: $(APP)
|
||||
|
||||
$(APP): $(OBJS)
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) ../LibC/LibC.a
|
||||
$(LD) -o $(APP) $(LDFLAGS) $(OBJS) -lc
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
Loading…
Reference in New Issue
Block a user