Commit graph

19 commits

Author SHA1 Message Date
Sergey Bugaev 3c90aab7dd Build: Add LibMarkdown to the library search path 2019-10-03 08:23:54 +02:00
Andreas Kling 93230386f7 Build: Add Libraries/LibHTML/ to the library search paths
This makes my hacky incremental rebuild commands work for LibHTML.
2019-09-29 16:20:54 +02:00
Conrad Pankoff 0706bf470f Meta: Add a LINK alias to the common makefile for running ld explicitly 2019-09-16 07:49:43 +02:00
Sergey Bugaev e1a6f8a27d LibThread: Introduce a new threading library
This library is meant to provide C++-style wrappers over lower
level APIs such as syscalls and pthread_* functions, as well as
utilities for easily running pieces of logic on different
threads.
2019-08-26 11:31:14 +02:00
Andreas Kling b24b111298 LibVT: Factor out terminal emulation from Terminal to make it reusable
Now that we're bringing back the in-kernel virtual console, we should
move towards having a single implementation of terminal emulation.

This patch rips out the emulation code from the Terminal application
and turns it into the beginnings of LibVT.

The basic design idea is that users of VT::Terminal will implement and
provide a VT::TerminalClient subclass to handle presentation-specific
things. We'll need to iterate on this, but it's a start. :^)
2019-08-12 17:34:48 +02:00
Andreas Kling 8e684f0959 AudioServer: Port to the new generated IPC mechanism
Fork the IPC Connection classes into Server:: and Client::ConnectionNG.
The new IPC messages are serialized very snugly instead of using the
same generic data structure for all messages.

Remove ASAPI.h since we now generate all of it from AudioServer.ipc :^)
2019-08-03 19:49:19 +02:00
Andreas Kling 3c1bad99a2 AudioServer: Link against LibIPC
We're not using any of the functionality yet, but soon...
2019-08-03 17:25:54 +02:00
Andreas Kling 1c0669f010 LibDraw: Introduce (formerly known as SharedGraphics.)
Instead of LibGUI and WindowServer building their own copies of the drawing
and graphics code, let's it in a separate LibDraw library.

This avoids building the code twice, and will encourage better separation
of concerns. :^)
2019-07-18 10:18:16 +02:00
Robin Burchell ffa8cb668f AudioServer: Assorted infrastructure work
* Add a LibAudio, and move WAV file parsing there (via AWavFile and AWavLoader)
* Add CLocalSocket, and CSocket::connect() variant for local address types.
  We make some small use of this in WindowServer (as that's where we
  modelled it from), but don't get too invasive as this PR is already
  quite large, and the WS I/O is a bit carefully done
* Add an AClientConnection which will eventually be used to talk to
  AudioServer (and make use of it in Piano, though right now it really
  doesn't do anything except connect, using our new CLocalSocket...)
2019-07-13 22:57:24 +02:00
Andreas Kling fe69b326e9 Build: Prepend $PRE_CXX before the C++ compiler.
This allows you to set e.g PRE_CXX=ccache in your environment and enjoy
cached rebuilds. This makes "./makeall.sh" take 5 seconds instead of 50
seconds on my machine. :^)
2019-07-09 19:24:05 +02:00
Andreas Kling c452aa891f AK: Add Platform.h with an ARCH() macro.
You can currently use this to detect the CPU architecture like so:

    #if ARCH(I386)
        ...
    #elif ARCH(X86_64)
        ...
    #else
        ...
    #endif

This will be helpful for separating out architecture-specific code blocks.
2019-07-09 15:48:04 +02:00
Andreas Kling 04b9dc2d30 Libraries: Create top level directory for libraries.
Things were getting a little crowded in the project root, so this patch
moves the Lib*/ directories into Libraries/.
2019-07-04 16:16:50 +02:00
Andreas Kling 04b2082e97 Build: Enable the -Werror flag.
Okay, I've now fixed all the warnings and it was pretty lame. Let's keep the
build warning-free from now on.
2019-06-22 16:32:04 +02:00
Andreas Kling 7a2da54c07 Only the kernel needs to build with default includes disabled. 2019-05-16 13:40:43 +02:00
Andreas Kling f3aec1a0d9 Painter: Re-enable diagonal draw_line().
This code still needs clipping, but the basic concept works. It was disabled
since before the kernel had floating point support.
2019-05-04 23:40:52 +02:00
Andreas Kling c1b310c5bf Build: Let's skip the --gc-sections linker option for now. 2019-04-24 01:57:51 +02:00
Andreas Kling 0c898e3c2c Put assertions behind a DEBUG flag to make it easy to build without them. 2019-04-23 21:52:02 +02:00
Andreas Kling f3754b8429 Build: Pass --gc-sections to the linker in all builds.
This removes unused sections from the output and reduces the binary size
of everything we compile.
2019-04-23 21:37:10 +02:00
Andreas Kling 74b94da6fa Add a Makefile.common with stuff shared by all Makefiles.
Compiler names, CXXFLAGS, and such. I should have done this ages ago.
2019-04-21 04:06:31 +02:00