forked from swiftlang/swift-cmark
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable cmark to build as a SwiftPM package
Add a `Package.swift` and some extra files that are cmake-generated.
- Loading branch information
Showing
5 changed files
with
147 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
// swift-tools-version:4.0 | ||
// The swift-tools-version declares the minimum version of Swift required to build this package. | ||
|
||
import PackageDescription | ||
|
||
let package = Package( | ||
name: "cmark", | ||
products: [ | ||
.library( | ||
name: "cmark", | ||
targets: ["cmark"]), | ||
], | ||
targets: [ | ||
.target( | ||
name: "cmark", | ||
path: "src", | ||
// Exclude the main file so cmark is built as a library. | ||
exclude: ["main.c"] | ||
) | ||
] | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
#ifndef CMARK_CONFIG_H | ||
#define CMARK_CONFIG_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#define HAVE_STDBOOL_H | ||
|
||
#ifdef HAVE_STDBOOL_H | ||
#include <stdbool.h> | ||
#elif !defined(__cplusplus) | ||
typedef char bool; | ||
#endif | ||
|
||
#define HAVE___BUILTIN_EXPECT | ||
|
||
#define HAVE___ATTRIBUTE__ | ||
|
||
#ifdef HAVE___ATTRIBUTE__ | ||
#define CMARK_ATTRIBUTE(list) __attribute__ (list) | ||
#else | ||
#define CMARK_ATTRIBUTE(list) | ||
#endif | ||
|
||
#ifndef CMARK_INLINE | ||
#if defined(_MSC_VER) && !defined(__cplusplus) | ||
#define CMARK_INLINE __inline | ||
#else | ||
#define CMARK_INLINE inline | ||
#endif | ||
#endif | ||
|
||
/* snprintf and vsnprintf fallbacks for MSVC before 2015, | ||
due to Valentin Milea http://stackoverflow.com/questions/2915672/ | ||
*/ | ||
|
||
#if defined(_MSC_VER) && _MSC_VER < 1900 | ||
|
||
#include <stdio.h> | ||
#include <stdarg.h> | ||
|
||
#define snprintf c99_snprintf | ||
#define vsnprintf c99_vsnprintf | ||
|
||
CMARK_INLINE int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap) | ||
{ | ||
int count = -1; | ||
|
||
if (size != 0) | ||
count = _vsnprintf_s(outBuf, size, _TRUNCATE, format, ap); | ||
if (count == -1) | ||
count = _vscprintf(format, ap); | ||
|
||
return count; | ||
} | ||
|
||
CMARK_INLINE int c99_snprintf(char *outBuf, size_t size, const char *format, ...) | ||
{ | ||
int count; | ||
va_list ap; | ||
|
||
va_start(ap, format); | ||
count = c99_vsnprintf(outBuf, size, format, ap); | ||
va_end(ap); | ||
|
||
return count; | ||
} | ||
|
||
#endif | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../cmark.h |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
#ifndef CMARK_EXPORT_H | ||
#define CMARK_EXPORT_H | ||
|
||
#ifdef CMARK_STATIC_DEFINE | ||
# define CMARK_EXPORT | ||
# define CMARK_NO_EXPORT | ||
#else | ||
# ifndef CMARK_EXPORT | ||
# ifdef libcmark_EXPORTS | ||
/* We are building this library */ | ||
# define CMARK_EXPORT __attribute__((visibility("default"))) | ||
# else | ||
/* We are using this library */ | ||
# define CMARK_EXPORT __attribute__((visibility("default"))) | ||
# endif | ||
# endif | ||
|
||
# ifndef CMARK_NO_EXPORT | ||
# define CMARK_NO_EXPORT __attribute__((visibility("hidden"))) | ||
# endif | ||
#endif | ||
|
||
#ifndef CMARK_DEPRECATED | ||
# define CMARK_DEPRECATED __attribute__ ((__deprecated__)) | ||
#endif | ||
|
||
#ifndef CMARK_DEPRECATED_EXPORT | ||
# define CMARK_DEPRECATED_EXPORT CMARK_EXPORT CMARK_DEPRECATED | ||
#endif | ||
|
||
#ifndef CMARK_DEPRECATED_NO_EXPORT | ||
# define CMARK_DEPRECATED_NO_EXPORT CMARK_NO_EXPORT CMARK_DEPRECATED | ||
#endif | ||
|
||
#if 0 /* DEFINE_NO_DEPRECATED */ | ||
# ifndef CMARK_NO_DEPRECATED | ||
# define CMARK_NO_DEPRECATED | ||
# endif | ||
#endif | ||
|
||
#endif /* CMARK_EXPORT_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#ifndef CMARK_VERSION_H | ||
#define CMARK_VERSION_H | ||
|
||
#define CMARK_VERSION ((0 << 16) | (28 << 8) | 3) | ||
#define CMARK_VERSION_STRING "0.28.3" | ||
|
||
#endif |