diff options
author | pommicket <pommicket@gmail.com> | 2022-01-01 19:03:46 -0500 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2022-01-01 19:12:37 -0500 |
commit | 83bf9674c625ea6898707f97a60036e19ba94858 (patch) | |
tree | 9d0bbed2706e934ebaa04fbebe6f6fe1601674bf | |
parent | d2e92f718ee26653ff1ae303ead2d983c92007c1 (diff) |
little fix to paths, update README for linux build
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | README.md | 22 | ||||
-rw-r--r-- | util.c | 2 |
3 files changed, 15 insertions, 20 deletions
@@ -1,5 +1,6 @@ ALL_CFLAGS=$(CFLAGS) -Wall -Wextra -Wshadow -Wconversion -Wpedantic -pedantic -std=gnu11 \ - -Wno-unused-function -Wno-fixed-enum-extension -Wimplicit-fallthrough -Wno-format-truncation -Wno-unknown-warning-option + -Wno-unused-function -Wno-fixed-enum-extension -Wimplicit-fallthrough -Wno-format-truncation -Wno-unknown-warning-option \ + -Ipcre2 LIBS=-lSDL2 -lGL -lm libpcre2-32.a DEBUG_CFLAGS=$(ALL_CFLAGS) -DDEBUG -O0 -g RELEASE_CFLAGS=$(ALL_CFLAGS) -O3 @@ -26,11 +27,9 @@ install: release cp -r assets $(GLOBAL_DATA_DIR) install -m 644 ted.cfg $(GLOBAL_DATA_DIR) install ted $(INSTALL_BIN_DIR) -libpcre2-32.a: pcre2-10.36.zip - rm -rf pcre2-10.36 - unzip pcre2-10.36.zip - cd pcre2-10.36 && cmake -DPCRE2_BUILD_PCRE2_32=ON . && $(MAKE) -j8 - cp pcre2-10.36/libpcre2-32.a ./ +libpcre2-32.a: pcre2 + cd pcre2 && cmake -DPCRE2_BUILD_PCRE2_32=ON . && $(MAKE) -j8 + cp pcre2/libpcre2-32.a ./ keywords.h: keywords.py ./keywords.py ted.deb: release @@ -99,34 +99,28 @@ variable names. Sorry. ## Building from source -To install `ted` from source on Linux, you will need: +First, you will need PCRE2: https://github.com/PhilipHazel/pcre2/releases. +Unzip it, put pcre2-10.X in the same folder as ted, and rename it to pcre2. + +To install `ted` from source on Linux, you will also need: - A C compiler - The SDL2 development libraries -- wget, unzip (for downloading, extracting PCRE2) - cmake (for PCRE2) These can be installed on Ubuntu/Debian with: ``` -sudo apt install clang libsdl2-dev wget unzip cmake -``` - -Then run - -``` -wget https://ftp.pcre.org/pub/pcre/pcre2-10.36.zip -sudo make install -j4 +sudo apt install clang libsdl2-dev cmake ``` +Then run `make -j4 release` to build or `sudo make install -j4` to build and install. You can also run `make ted.deb` to build the .deb installer. -On Windows (64-bit), first you will need to install Microsoft Visual Studio, then find and add vcvarsall.bat to your PATH. +On Windows (64-bit), you will need to install Microsoft Visual Studio, then find and add vcvarsall.bat to your PATH. Next you will need the SDL2 VC development libraries: https://www.libsdl.org/download-2.0.php Extract the zip, copy SDL2-2.x.y into the ted directory, and rename it to SDL2. Also copy SDL2\\lib\\x64\\SDL2.dll -to the ted directory. -You will also need PCRE2. Download it here: https://github.com/PhilipHazel/pcre2/releases, -unzip it, put pcre2-10.X in the same folder as ted, and rename it to pcre2. +to the ted directory. Then run `make.bat release`. To build the .msi file, you will need Visual Studio, as well as the @@ -281,6 +281,8 @@ static void path_full(char const *dir, char const *relpath, char *abspath, size_ } else { str_cpy(abspath, abspath_size, dir); } + if (abspath[strlen(abspath) - 1] != PATH_SEPARATOR) + str_cat(abspath, abspath_size, PATH_SEPARATOR_STR); while (*relpath) { size_t component_len = strcspn(relpath, ALL_PATH_SEPARATORS); |