Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
/pony-libxml21
*.swp
/pony-libxml2/_tests/memory/memory
/pony-libxml2-docs/
/pony-libxml2/_tests/_tests
/pony-libxml2/_tests/memory/memory
/build
/lock.json
/meta
33 changes: 19 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
config ?= release
config ?= debug

PACKAGE := pony-libxml2
GET_DEPENDENCIES_WITH := corral fetch
Expand All @@ -7,6 +7,7 @@ COMPILE_WITH := corral run -- ponyc

BUILD_DIR ?= build/$(config)
SRC_DIR ?= $(PACKAGE)
EXAMPLES_DIR := examples
tests_binary := $(BUILD_DIR)/$(PACKAGE)
docs_dir := build/$(PACKAGE)-docs

Expand All @@ -17,34 +18,38 @@ ifdef config
endif

ifeq ($(config),release)
PONYC = ${COMPILE_WITH}
PONYC = $(COMPILE_WITH)
else
PONYC = ${COMPILE_WITH} --debug
PONYC = $(COMPILE_WITH) --debug
endif

SOURCE_FILES := $(shell find $(SRC_DIR) -name \*.pony)
SOURCE_FILES := $(shell find $(SRC_DIR) -name *.pony)
EXAMPLES := $(notdir $(shell find $(EXAMPLES_DIR)/* -type d))
EXAMPLES_SOURCE_FILES := $(shell find $(EXAMPLES_DIR) -name *.pony)
EXAMPLES_BINARIES := $(addprefix $(BUILD_DIR)/,$(EXAMPLES))

test: unit-tests
test: unit-tests build-examples

unit-tests: $(tests_binary)
$^ --exclude=integration --sequential

$(tests_binary): $(GEN_FILES) $(SOURCE_FILES) | $(BUILD_DIR)
${GET_DEPENDENCIES_WITH}
${PONYC} ${SSL} -o ${BUILD_DIR} $(SRC_DIR)
$(GET_DEPENDENCIES_WITH)
$(PONYC) -o $(BUILD_DIR) $(SRC_DIR)/_tests -b pony-libxml2

#build-examples:
# ${GET_DEPENDENCIES_WITH}
# find examples/*/* -name '*.pony' -print | xargs -n 1 dirname | sort -u | grep -v ffi- | xargs -n 1 -I {} ${PONYC} ${SSL} -s --checktree -o ${BUILD_DIR} {}
build-examples: $(EXAMPLES_BINARIES)

$(EXAMPLES_BINARIES): $(BUILD_DIR)/%: $(SOURCE_FILES) $(EXAMPLES_SOURCE_FILES) | $(BUILD_DIR)
$(GET_DEPENDENCIES_WITH)
$(PONYC) $(SSL) -o $(BUILD_DIR) $(EXAMPLES_DIR)/$*

clean:
corral clean
$(CLEAN_DEPENDENCIES_WITH)
rm -rf $(BUILD_DIR)

$(docs_dir): $(GEN_FILES) $(SOURCE_FILES)
rm -rf $(docs_dir)
${GET_DEPENDENCIES_WITH}
${PONYC} --docs-public --pass=docs --output build $(SRC_DIR)
$(PONYC) --docs-public --pass=docs --output build $(SRC_DIR)

docs: $(docs_dir)

Expand All @@ -56,4 +61,4 @@ all: test
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)

.PHONY: all clean TAGS test
.PHONY: all build-examples clean TAGS test
12 changes: 6 additions & 6 deletions corral.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"deps": [],
"packages": [
"pony-libxml2"
],
"deps": [],
"info": {
"description": "Pony Bindings to libxml2",
"description": "Pony binding to libxml2",
"homepage": "https://github.com/redvers/pony-libxml2",
"license": "BSD-2-Clause",
"documentation_url": "https://redvers.github.io/pony-libxml2",
"version": "1.0.2",
"name": "pony-libxml2"
"license": "",
"documentation_url": "",
"version": "",
"name": ""
}
}
2,951 changes: 1,429 additions & 1,522 deletions pony-libxml2/functions.pony

Large diffs are not rendered by default.

2,204 changes: 1,091 additions & 1,113 deletions pony-libxml2/pony-libxml2.pony

Large diffs are not rendered by default.

925 changes: 0 additions & 925 deletions pony-libxml2/structs.pony

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions pony-libxml2/structs/html_elem_desc.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/*
Source: /usr/include/libxml2/libxml/HTMLparser.h:43
Original Name: _htmlElemDesc
Struct Size (bits): 512
Struct Align (bits): 64

Fields (Offset in bits):
000000: [PointerType size=64]->[FundamentalType(char) size=8]: name
000064: [FundamentalType(char) size=8]: startTag
000072: [FundamentalType(char) size=8]: endTag
000080: [FundamentalType(char) size=8]: saveEndTag
000088: [FundamentalType(char) size=8]: empty
000096: [FundamentalType(char) size=8]: depr
000104: [FundamentalType(char) size=8]: dtd
000112: [FundamentalType(char) size=8]: isinline
000128: [PointerType size=64]->[FundamentalType(char) size=8]: desc
000192: [PointerType size=64]->[PointerType size=64]->[FundamentalType(char) size=8]: subelts
000256: [PointerType size=64]->[FundamentalType(char) size=8]: defaultsubelt
000320: [PointerType size=64]->[PointerType size=64]->[FundamentalType(char) size=8]: attrs_opt
000384: [PointerType size=64]->[PointerType size=64]->[FundamentalType(char) size=8]: attrs_depr
000448: [PointerType size=64]->[PointerType size=64]->[FundamentalType(char) size=8]: attrs_req
*/
struct HtmlElemDesc
var _name: Pointer[U8] = Pointer[U8]
var _startTag: U8 = U8(0)
var _endTag: U8 = U8(0)
var _saveEndTag: U8 = U8(0)
var _empty: U8 = U8(0)
var _depr: U8 = U8(0)
var _dtd: U8 = U8(0)
var _isinline: U8 = U8(0)
var _desc: Pointer[U8] = Pointer[U8]
var _subelts: Pointer[Pointer[U8]] = Pointer[Pointer[U8]]
var _defaultsubelt: Pointer[U8] = Pointer[U8]
var _attrs_opt: Pointer[Pointer[U8]] = Pointer[Pointer[U8]]
var _attrs_depr: Pointer[Pointer[U8]] = Pointer[Pointer[U8]]
var _attrs_req: Pointer[Pointer[U8]] = Pointer[Pointer[U8]]


17 changes: 17 additions & 0 deletions pony-libxml2/structs/html_entity_desc.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
Source: /usr/include/libxml2/libxml/HTMLparser.h:77
Original Name: _htmlEntityDesc
Struct Size (bits): 192
Struct Align (bits): 64

Fields (Offset in bits):
000000: [FundamentalType(unsigned int) size=32]: value
000064: [PointerType size=64]->[FundamentalType(char) size=8]: name
000128: [PointerType size=64]->[FundamentalType(char) size=8]: desc
*/
struct HtmlEntityDesc
var _value: U32 = U32(0)
var _name: Pointer[U8] = Pointer[U8]
var _desc: Pointer[U8] = Pointer[U8]


74 changes: 74 additions & 0 deletions pony-libxml2/structs/i_o_f_i_l_e.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/*
Source: /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:49
Original Name: _IO_FILE
Struct Size (bits): 1728
Struct Align (bits): 64

Fields (Offset in bits):
000000: [FundamentalType(int) size=32]: _flags
000064: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_read_ptr
000128: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_read_end
000192: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_read_base
000256: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_write_base
000320: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_write_ptr
000384: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_write_end
000448: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_buf_base
000512: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_buf_end
000576: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_save_base
000640: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_backup_base
000704: [PointerType size=64]->[FundamentalType(char) size=8]: _IO_save_end
000768: [PointerType size=64]->[Struct size=,fid: f8]: _markers
000832: [PointerType size=64]->[Struct size=1728,fid: f8]: _chain
000896: [FundamentalType(int) size=32]: _fileno
000928: [FundamentalType(int) size=32]: _flags2
000960: [FundamentalType(long int) size=64]: _old_offset
001024: [FundamentalType(short unsigned int) size=16]: _cur_column
001040: [FundamentalType(signed char) size=8]: _vtable_offset
001048: [ArrayType size=(0-0)]->[FundamentalType(char) size=8] -- UNSUPPORTED - FIXME: _shortbuf
001088: [PointerType size=64]->[FundamentalType(void) size=0]: _lock
001152: [FundamentalType(long int) size=64]: _offset
001216: [PointerType size=64]->[Struct size=,fid: f8]: _codecvt
001280: [PointerType size=64]->[Struct size=,fid: f8]: _wide_data
001344: [PointerType size=64]->[Struct size=1728,fid: f8]: _freeres_list
001408: [PointerType size=64]->[FundamentalType(void) size=0]: _freeres_buf
001472: [FundamentalType(long unsigned int) size=64]: __pad5
001536: [FundamentalType(int) size=32]: _mode
001568: [ArrayType size=(0-19)]->[FundamentalType(char) size=8] -- UNSUPPORTED - FIXME: _unused2
*/
struct IOFILE
var _flags: I32 = I32(0)
var _iO_read_ptr: Pointer[U8] = Pointer[U8]
var _iO_read_end: Pointer[U8] = Pointer[U8]
var _iO_read_base: Pointer[U8] = Pointer[U8]
var _iO_write_base: Pointer[U8] = Pointer[U8]
var _iO_write_ptr: Pointer[U8] = Pointer[U8]
var _iO_write_end: Pointer[U8] = Pointer[U8]
var _iO_buf_base: Pointer[U8] = Pointer[U8]
var _iO_buf_end: Pointer[U8] = Pointer[U8]
var _iO_save_base: Pointer[U8] = Pointer[U8]
var _iO_backup_base: Pointer[U8] = Pointer[U8]
var _iO_save_end: Pointer[U8] = Pointer[U8]
var _markers: NullablePointer[IOmarker] = NullablePointer[IOmarker].none()
var _chain: NullablePointer[IOFILE] = NullablePointer[IOFILE].none()
var _fileno: I32 = I32(0)
var _flags2: I32 = I32(0)
var _old_offset: I64 = I64(0)
var _cur_column: U16 = U16(0)
var _vtable_offset: I8 = I8(0)
var _shortbuf: U8 = U8(0)
var _lock: Pointer[None] = Pointer[None]
var _offset: I64 = I64(0)
var _codecvt: NullablePointer[IOcodecvt] = NullablePointer[IOcodecvt].none()
var _wide_data: NullablePointer[IOwidedata] = NullablePointer[IOwidedata].none()
var _freeres_list: NullablePointer[IOFILE] = NullablePointer[IOFILE].none()
var _freeres_buf: Pointer[None] = Pointer[None]
var _pad5: U64 = U64(0)
var _mode: I32 = I32(0)
// 20 * U8 = 10 * U16 = 5 * U32
var _unused20: U32 = U32(0)
var _unused21: U32 = U32(0)
var _unused22: U32 = U32(0)
var _unused23: U32 = U32(0)
var _unused24: U32 = U32(0)


1 change: 1 addition & 0 deletions pony-libxml2/structs/i_ocodecvt.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct IOcodecvt
1 change: 1 addition & 0 deletions pony-libxml2/structs/i_omarker.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct IOmarker
1 change: 1 addition & 0 deletions pony-libxml2/structs/i_owidedata.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct IOwidedata
1 change: 1 addition & 0 deletions pony-libxml2/structs/u_converter.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct UConverter
49 changes: 49 additions & 0 deletions pony-libxml2/structs/u_convt.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
Source: /usr/include/libxml2/libxml/encoding.h:134
Original Name: _uconv_t
Struct Size (bits): 16640
Struct Align (bits): 64

Fields (Offset in bits):
000000: [PointerType size=64]->[Struct size=,fid: f39]: uconv
000064: [PointerType size=64]->[Struct size=,fid: f39]: utf8
000128: [ArrayType size=(0-1023)]->[FundamentalType(short unsigned int) size=16] -- UNSUPPORTED - FIXME: pivot_buf
016512: [PointerType size=64]->[FundamentalType(short unsigned int) size=16]: pivot_source
016576: [PointerType size=64]->[FundamentalType(short unsigned int) size=16]: pivot_target
*/
struct Uconvt
var _uconv: NullablePointer[UConverter] = NullablePointer[UConverter].none()
var _utf8: NullablePointer[UConverter] = NullablePointer[UConverter].none()
// 1024 * 16
var _pivot_buf: Padding16384 = Padding16384
var _pivot_source: Pointer[U16] = Pointer[U16]
var _pivot_target: Pointer[U16] = Pointer[U16]


struct Padding16384
embed a0: Padding1024 = Padding1024
embed a1: Padding1024 = Padding1024
embed a2: Padding1024 = Padding1024
embed a3: Padding1024 = Padding1024
embed a4: Padding1024 = Padding1024
embed a5: Padding1024 = Padding1024
embed a6: Padding1024 = Padding1024
embed a7: Padding1024 = Padding1024
embed a8: Padding1024 = Padding1024
embed a9: Padding1024 = Padding1024
embed aa: Padding1024 = Padding1024
embed ab: Padding1024 = Padding1024
embed ac: Padding1024 = Padding1024
embed ad: Padding1024 = Padding1024
embed ae: Padding1024 = Padding1024
embed af: Padding1024 = Padding1024

struct Padding1024
var a0: U128 = U128(0)
var a1: U128 = U128(0)
var a2: U128 = U128(0)
var a3: U128 = U128(0)
var a4: U128 = U128(0)
var a5: U128 = U128(0)
var a6: U128 = U128(0)
var a7: U128 = U128(0)
34 changes: 34 additions & 0 deletions pony-libxml2/structs/xml_attr.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
Source: /usr/include/libxml2/libxml/tree.h:433
Original Name: _xmlAttr
Struct Size (bits): 768
Struct Align (bits): 64

Fields (Offset in bits):
000000: [PointerType size=64]->[FundamentalType(void) size=0]: _private
000064: [Enumeration size=32,fid: f16]: type
000128: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: name
000192: [PointerType size=64]->[Struct size=960,fid: f16]: children
000256: [PointerType size=64]->[Struct size=960,fid: f16]: last
000320: [PointerType size=64]->[Struct size=960,fid: f16]: parent
000384: [PointerType size=64]->[Struct size=768,fid: f16]: next
000448: [PointerType size=64]->[Struct size=768,fid: f16]: prev
000512: [PointerType size=64]->[Struct size=1408,fid: f16]: doc
000576: [PointerType size=64]->[Struct size=384,fid: f16]: ns
000640: [Enumeration size=32,fid: f16]: atype
000704: [PointerType size=64]->[FundamentalType(void) size=0]: psvi
*/
struct XmlAttr
var _private: Pointer[None] = Pointer[None]
var _type: I32 = I32(0)
var _name: Pointer[U8] = Pointer[U8]
var _children: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _last: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _parent: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _next: NullablePointer[XmlAttr] = NullablePointer[XmlAttr].none()
var _prev: NullablePointer[XmlAttr] = NullablePointer[XmlAttr].none()
var _doc: NullablePointer[XmlDoc] = NullablePointer[XmlDoc].none()
var _ns: NullablePointer[XmlNs] = NullablePointer[XmlNs].none()
var _atype: I32 = I32(0)
var _psvi: Pointer[None] = Pointer[None]

43 changes: 43 additions & 0 deletions pony-libxml2/structs/xml_attribute.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/*
Source: /usr/include/libxml2/libxml/tree.h:253
Original Name: _xmlAttribute
Struct Size (bits): 960
Struct Align (bits): 64

Fields (Offset in bits):
000000: [PointerType size=64]->[FundamentalType(void) size=0]: _private
000064: [Enumeration size=32,fid: f16]: type
000128: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: name
000192: [PointerType size=64]->[Struct size=960,fid: f16]: children
000256: [PointerType size=64]->[Struct size=960,fid: f16]: last
000320: [PointerType size=64]->[Struct size=1024,fid: f16]: parent
000384: [PointerType size=64]->[Struct size=960,fid: f16]: next
000448: [PointerType size=64]->[Struct size=960,fid: f16]: prev
000512: [PointerType size=64]->[Struct size=1408,fid: f16]: doc
000576: [PointerType size=64]->[Struct size=960,fid: f16]: nexth
000640: [Enumeration size=32,fid: f16]: atype
000672: [Enumeration size=32,fid: f16]: def
000704: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: defaultValue
000768: [PointerType size=64]->[Struct size=128,fid: f16]: tree
000832: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: prefix
000896: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: elem
*/
struct XmlAttribute
var _private: Pointer[None] = Pointer[None]
var _type: I32 = I32(0)
var _name: Pointer[U8] = Pointer[U8]
var _children: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _last: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _parent: NullablePointer[XmlDtd] = NullablePointer[XmlDtd].none()
var _next: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _prev: NullablePointer[XmlNode] = NullablePointer[XmlNode].none()
var _doc: NullablePointer[XmlDoc] = NullablePointer[XmlDoc].none()
var _nexth: NullablePointer[XmlAttribute] = NullablePointer[XmlAttribute].none()
var _atype: I32 = I32(0)
var _def: I32 = I32(0)
var _defaultValue: Pointer[U8] = Pointer[U8]
var _tree: NullablePointer[XmlEnumeration] = NullablePointer[XmlEnumeration].none()
var _prefix: Pointer[U8] = Pointer[U8]
var _elem: Pointer[U8] = Pointer[U8]


1 change: 1 addition & 0 deletions pony-libxml2/structs/xml_automata.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct XmlAutomata
1 change: 1 addition & 0 deletions pony-libxml2/structs/xml_automata_state.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct XmlAutomataState
1 change: 1 addition & 0 deletions pony-libxml2/structs/xml_buf.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
struct XmlBuf
21 changes: 21 additions & 0 deletions pony-libxml2/structs/xml_buffer.pony
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/*
Source: /usr/include/libxml2/libxml/tree.h:91
Original Name: _xmlBuffer
Struct Size (bits): 256
Struct Align (bits): 64

Fields (Offset in bits):
000000: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: content
000064: [FundamentalType(unsigned int) size=32]: use
000096: [FundamentalType(unsigned int) size=32]: size
000128: [Enumeration size=32,fid: f16]: alloc
000192: [PointerType size=64]->[FundamentalType(unsigned char) size=8]: contentIO
*/
struct XmlBuffer
var _content: Pointer[U8] = Pointer[U8]
var _use: U32 = U32(0)
var _size: U32 = U32(0)
var _alloc: I32 = I32(0)
var _contentIO: Pointer[U8] = Pointer[U8]


Loading
Loading