Skip to content

Commit 5d9bdaa

Browse files
Merge pull request #83 from swiftlang/maxd/wasi-6.2
[6.2] fix build failures for WASI
2 parents b97d094 + 72be2ce commit 5d9bdaa

24 files changed

+74
-10
lines changed

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ include(FindAsan)
4242
if(CMARK_THREADING)
4343
set(THREADS_PREFER_PTHREAD_FLAG YES)
4444
include(FindThreads)
45-
add_compile_definitions(CMARK_THREADING)
4645
endif()
4746
include(GNUInstallDirs)
4847

@@ -76,6 +75,8 @@ endif()
7675
add_compile_definitions($<$<CONFIG:Debug>:CMARK_DEBUG_NODES>)
7776
# FIXME(compnerd) why do we not use `!defined(NDEBUG)`?
7877
add_compile_definitions($<$<CONFIG:Debug>:DEBUG>)
78+
# Use CMake's generated headers instead of the Swift package prebuilt ones
79+
add_compile_definitions(CMARK_USE_CMAKE_HEADERS)
7980

8081
add_compile_options($<$<AND:$<CONFIG:PROFILE>,$<COMPILE_LANGUAGE:C>>:-pg>)
8182

Package.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,9 @@ import PackageDescription
1111
// link time.
1212
let cSettings: [CSetting] = [
1313
.define("CMARK_GFM_STATIC_DEFINE", .when(platforms: [.windows])),
14-
.define("CMARK_THREADING"),
1514
]
1615
#else
17-
let cSettings: [CSetting] = [
18-
.define("CMARK_THREADING"),
19-
]
16+
let cSettings: [CSetting] = []
2017
#endif
2118

2219
let package = Package(
@@ -41,6 +38,7 @@ let package = Package(
4138
exclude: [
4239
"scanners.re",
4340
"libcmark-gfm.pc.in",
41+
"config.h.in",
4442
"CMakeLists.txt",
4543
],
4644
cSettings: cSettings

api_test/harness.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void INT_EQ(test_batch_runner *runner, int got, int expected, const char *msg,
5454
}
5555
}
5656

57-
#ifndef _WIN32
57+
#if !defined(_WIN32) && !defined(__wasi__)
5858
#include <unistd.h>
5959

6060
static char *write_tmp(char const *header, char const *data) {
@@ -79,7 +79,7 @@ void STR_EQ(test_batch_runner *runner, const char *got, const char *expected,
7979
va_end(ap);
8080

8181
if (!cond) {
82-
#ifndef _WIN32
82+
#if !defined(_WIN32) && !defined(__wasi__)
8383
char *got_fn = write_tmp("actual\n", got);
8484
char *expected_fn = write_tmp("expected\n", expected);
8585
char buf[1024];

bin/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <stdlib.h>
55
#include <string.h>
66

7+
#include "cmark-gfm_config.h"
78
#include "cmark-gfm.h"
89
#include "node.h"
910
#include "cmark-gfm-extension_api.h"

src/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in
2+
${CMAKE_CURRENT_BINARY_DIR}/config.h)
3+
14
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcmark-gfm.pc.in
25
${CMAKE_CURRENT_BINARY_DIR}/libcmark-gfm.pc @ONLY)
36

@@ -68,6 +71,7 @@ install(FILES
6871
include/chunk.h
6972
include/cmark_ctype.h
7073
include/cmark-gfm.h
74+
include/cmark-gfm_config.h
7175
include/cmark-gfm-extension_api.h
7276
include/cmark-gfm_version.h
7377
include/export.h

src/blocks.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
#include "cmark_ctype.h"
1515
#include "syntax_extension.h"
16+
#include "cmark-gfm_config.h"
1617
#include "parser.h"
1718
#include "cmark-gfm.h"
1819
#include "node.h"

src/buffer.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <stdlib.h>
88
#include <string.h>
99

10+
#include "cmark-gfm_config.h"
1011
#include "cmark_ctype.h"
1112
#include "buffer.h"
1213

src/commonmark.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <stdlib.h>
66
#include <string.h>
77

8+
#include "cmark-gfm_config.h"
89
#include "cmark-gfm.h"
910
#include "node.h"
1011
#include "buffer.h"

src/config.h.in

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#ifndef CMARK_CONFIG_H
2+
#define CMARK_CONFIG_H
3+
4+
#ifdef __cplusplus
5+
extern "C" {
6+
#endif
7+
8+
#cmakedefine01 CMARK_THREADING
9+
10+
#ifdef __cplusplus
11+
}
12+
#endif
13+
14+
#endif

src/html.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <string.h>
66

77
#include "cmark_ctype.h"
8+
#include "cmark-gfm_config.h"
89
#include "cmark-gfm.h"
910
#include "houdini.h"
1011
#include "scanners.h"

0 commit comments

Comments
 (0)