Commit graph

365 commits

Author SHA1 Message Date
Andreas Oppebøen
eb44a90e62 Documentation: Recommend CLion code style settings over manual steps
Changing the naming conventions one-by-one was tedious and error-prone.
A settings file is likely to be more forward compatible than a
screenshot. The settings file was made by repeating the manual steps
provided in the documentation, and exporting the file in CLion.
2022-12-03 23:54:48 +00:00
Linus Groh
8639d8bc21 Meta: Switch to clang-format-15 as the standard formatter
The two major changes noticeable on the SerenityOS codebase are:
- Much improved support for const placement, clang-format-14 ignored
  our east-const configuration in various places
- Different formatting for requires clauses, now breaking them onto
  their own line, which helps with readability a bit

Current versions of CLion also ship LLVM 15, so the built-in formatting
now matches CI formatting again :^)
2022-12-03 23:52:23 +00:00
sno2
36f6e09f7e Documentation: Update WSL QEMU Installation Requirements
As Evil stated in the Discord, WSL users must install the DLL
libraries with their QEMU Installation or else they will receive
obscure errors about the syntax of the Meta/run.sh file as shown in
SerenityOS#14033.
2022-12-03 16:04:38 -07:00
Liav A
71536e91c5 Documentation: Add a document about TmpFS 2022-11-25 14:43:28 -07:00
Liav A
9e7d099678 Documentation: Add guidelines document for kernel development 2022-11-25 22:34:32 +01:00
Filiph Sandström
02baa1b005 Documentation: Give collapsed sections consistent headers 2022-11-03 06:58:19 +00:00
John Diamond
63c459b6c1 Documentation: Update macOS build dependencies to gcc-12
Since commit bc2ebcadc serenity requires gcc version 12 or later to
build, so let's update the homebrew package version to match that.
2022-11-02 16:58:43 +00:00
Gunnar Beutner
2ef1e7e634 Meta: Add configuration file for YouCompleteMe
YouCompleteMe is a plugin for Vim which provides code-completion
functionality. This change adds a configuration file which makes
YouCompleteMe aware of which compile flags to use with clangd.
2022-10-27 20:52:39 +01:00
Linus Groh
bc2ebcadc0 Everywhere: Require version >= 12 for GCC host compiler
So far we've gotten away with using GCC 11 for Lagom and to compile the
toolchain, but via #15795 we discovered a compiler bug that has been
fixed in the latest version but would error the build with CI's GCC 11.
Time for an upgrade :^)

We already use ubuntu-22.04 images in most places, so this is pretty
straightforward. The only exception is Idan's self-hosted runner, which
uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-25 23:15:51 +01:00
kleines Filmröllchen
2d4591dad4 Documentation: Add FAQ regarding MP3 patents 2022-10-15 22:50:33 +02:00
leeight
1d058ffd72 Documentation: Update VSCodeConfiguration.md
Because x86-64 is the default target, so update the related
documentations.

74018be739
2022-10-13 17:44:49 +02:00
Liav A
a1d1f7566f Documentation: Add initial document about the Kernel graphics subsystem 2022-10-12 15:00:53 +01:00
Kenneth Myhra
7ea987456a Documentation: Update CLion Configuration to use the x86-64 target
Since the default target is x86-64 after PR #15441 was merged, then let
us update the CLion Configuration accordingly.
2022-10-12 00:09:51 +02:00
Andrew Kaster
a74251ca91 Documentation: Update AddNewIDLFile for GC and Exposed changes 2022-10-09 10:14:57 +02:00
Peter Elliott
37f527be9c Documentation: Change references to uid based sockets to sids 2022-10-03 11:11:29 +02:00
Liav A
f46cc90f82 Documentation: Add a document about the Kernel IOWindow concept 2022-09-23 17:22:15 +01:00
Linus Groh
edfef8e2f5 Everywhere: Rename WrapperGenerator to BindingsGenerator
This code generator no longer creates JS wrappers for platform objects
in the old sense, instead they're JS objects internally themselves.
Most of what we generate now are prototypes - which can be seen as
bindings for the internal C++ methods implementing getters, setters, and
methods - as well as object constructors, i.e. bindings for the internal
create_with_global_object() method.

Also tweak the naming of various CMake glue code existing around this.
2022-09-21 23:06:08 +01:00
Tim Schumacher
1b25c38b8b Everywhere: Fully remove the separate LibM directory 2022-09-16 16:09:19 +00:00
Brian Gianforcaro
d0a1775369 Everywhere: Fix a variety of typos
Spelling fixes found by `codespell`.
2022-09-14 04:46:49 +00:00
Arun Nanduri
e268316865 Documentation: Amend comment describing use of "virtual" and "final" 2022-09-06 19:15:54 +00:00
Andreas Kling
6f433c8656 LibWeb+LibJS: Make the EventTarget hierarchy (incl. DOM) GC-allocated
This is a monster patch that turns all EventTargets into GC-allocated
PlatformObjects. Their C++ wrapper classes are removed, and the LibJS
garbage collector is now responsible for their lifetimes.

There's a fair amount of hacks and band-aids in this patch, and we'll
have a lot of cleanup to do after this.
2022-09-06 00:27:09 +02:00
Andreas Kling
7c3db526b0 LibWeb: Make DOM::Event and all its subclasses GC-allocated 2022-09-06 00:27:09 +02:00
Andreas Kling
12042f0757 LibWeb: Make CSSRule and all its subclasses GC-allocated 2022-09-06 00:27:09 +02:00
kleines Filmröllchen
c91511b883 Meta+Tests: Allow running FLAC spec tests
The FLAC "spec tests", or rather the test suite by xiph that exercises
weird FLAC features and edge cases, can be found at
https://github.com/ietf-wg-cellar/flac-test-files and is a good
challenge for our FLAC decoder to become more spec compliant. Running
these tests is similar to LibWasm spec tests, you need to pass
INCLUDE_FLAC_SPEC_TESTS to CMake.

As of integrating these tests, 23 out of 63 fail. :yakplus:
2022-09-02 23:54:50 +01:00
Brian Gianforcaro
56c1e71a37 Documentation: Remove execute bit from image file 2022-08-24 07:29:13 +00:00
Skye Sprung
8026d8926c Documentation: Change spelling error in CLionConfiguration.md
Change "want exclude" to "want to exclude"
2022-08-22 08:48:29 +01:00
Roberto Bampi
78bc84c2d8 Docs: Update CLion configuration for WSL
In CLion on Windows subsystem for linux (WSL) we need to set up a
CLion toolchain so that the IDE can find the correct CMake.
2022-08-19 18:10:47 +01:00
Lucas CHOLLET
ac7b0e69e5 Base: Launch WebContent at session start-up 2022-08-14 21:52:35 +01:00
Sam Atkins
5fbcda950b Documentation: Add missing step when creating a new IDL type
If you use your new IDL class as a type in an IDL file without doing
this, you'll get confusing error messages.
2022-08-14 11:30:40 +02:00
Liav A
6164729d06 Everywhere: Get rid of the fbdev kernel boot argument remainders 2022-08-14 01:03:23 +01:00
Riyyi
77f0a66d2f Documentation: Add clang-format variant to EmacsConfiguration.md
Add a variant of auto formatting using clang-format that doesn't use
additional packages. It works by adding a buffer-local hook to
`'before-save` for all C++ project files.
2022-08-08 16:36:23 -04:00
Chun Ngai Au
bfa94dd0b7 Documentation: Fix c_cpp_properties.json typo
The current compilerArgs will cause an error when VSCode's C++ extension
queries the compiler for defaults, causing it to revert to the system's
default compiler.
2022-08-01 14:59:45 +01:00
Sam Atkins
2786147774 Documentation: Add a table of contents for Documentation 2022-07-21 17:35:36 +01:00
Sam Atkins
9ddca98bb0 Documentation: Rename UsingQtCreator.md
This name was the odd one out among the IDE/Editor guides.
2022-07-21 17:35:36 +01:00
Tim Schumacher
28061cf94d Everywhere: Fully remove the separate LibPthread directory 2022-07-19 11:00:35 +01:00
Andreas Kling
52862c72d0 LibWeb: Rename FormattingState to LayoutState
This seems a bit more descriptive (and also a bit shorter).
2022-07-17 14:11:36 +02:00
kleines Filmröllchen
fb7cd7b340 Documentation: Merge UsingFontEditor into existing FontEditor manpage
The generate-manpages script needs to be updated again to handle the new
PNGs in section 1. (I'm intentionally not making this a multi-directory
glob.)
2022-07-11 11:35:56 +02:00
kleines Filmröllchen
1419732a73 Documentation: Move IPC endpoint documentation to manpage section 4 2022-07-11 11:35:56 +02:00
kleines Filmröllchen
9660f5d0e6 Documentation: Move all file format documentation into its own manpage
The documentation is largely unchanged except for adoption into the
standard manpage format.
2022-07-11 11:35:56 +02:00
thankyouverycool
69a385f559 FontEditor: Rename FontEditorWidget => FontEditor::MainWidget 2022-07-06 14:25:30 +02:00
Jonta
6828937676 Docs: FAQ: Improve grammar in 2 paragraphs 2022-07-05 20:07:57 +00:00
Daniel K Bueno
65440f9262 Documentation: Add information on MacOS build prerequisites
This PR includes information that highlights the importance of
updating Xcode on MacOS. I ran into problems building serenity
on MacOS because I had Xcode installed but not updated in a while.
This triggered seemingly unrelated errors that were easily solved
by updating Xcode.
2022-07-04 05:52:31 +00:00
Cyber Gsus
224924885d Documentation: Bump compiler version to 12.1.0 in include paths
Even though we tell the user to change the version manually if it
doesn't match with the current
`Toolchain/Local/i686/i686-pc-serenity/include/XX.X.X` version, it
doesn't hurt to update it properly now that versions differ by major
version.
2022-06-30 13:16:40 +02:00
Linus Groh
cc4bb59a7e Playground: Rename the application to GMLPlayground
Just "Playground" is too generic and doesn't match the general rule of
"application name equals display name minus spaces".
2022-06-28 21:10:10 +01:00
kleines Filmröllchen
008b46d06e Documentation: Specify that no new code should contain C-style casts
Let's move towards a C-style-cast-free code base.
2022-05-29 20:36:16 +01:00
EWouters
59598ded15 Documentation: Add ninja command to example
This is needed for the next command to work.
2022-05-25 23:50:57 +01:00
Nathan Wallace
0c0a760aad Meta+Documentation: Bump required QEMU version
This commit bumps the required QEMU version to 6.2 and updates the
version checking logic in Meta/run.sh to support checking against
major and minor version numbers instead of checking against the major
version only
2022-05-24 06:30:57 -04:00
Andrew Kaster
ca42da23c2 Meta+Userland: Add jakt as an optional Lagom Tool
We can now use ENABLE_JAKT to pull jakt as a host tool and use it to
pre-process .jakt files into .cpp files for use in serenity applications
2022-05-23 23:05:45 +02:00
Timon Kruiper
cc7723b6c4 Meta: Add option to disable Kernel Address Sanitizer
By default we enable the Kernel Undefined Behavior Sanitizer, which
checks for undefined behavior at runtime. However, sometimes a developer
might want to turn that off, so now there is a easy way to do that.
2022-05-21 20:23:32 +01:00
Daniel Bertalan
124bcd743b Documentation: Only install the x86 and AArch64 qemu backends on Arch
The qemu-emulators-full package installs qemu backends for *all*
supported architectures, but we only need x86 and AArch64.

This decreases the installed size of dependencies by 800 MiB.
2022-05-20 09:51:15 +01:00