dep-selector-libgecode 1.0.0.alpha.1 → 1.0.0.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/libgecode3/extconf.rb +24 -7
- data/ext/libgecode3/vendor/gecode-3.7.3/gecode/flatzinc/lexer.yy.cpp +25 -11
- data/ext/libgecode3/vendor/gecode-3.7.3/gecode/flatzinc/parser.tab.cpp +422 -217
- data/ext/libgecode3/vendor/gecode-3.7.3/gecode/flatzinc/parser.tab.hh +25 -67
- data/lib/dep-selector-libgecode/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f45b103597f32988c91cbc2db8564d16c52345fd
|
4
|
+
data.tar.gz: d15a3547e6b6528a3183463376841c485c022008
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a10243cb0e96ed35ecf97a498cc4f245dc7731361ac8d626a6ae9ffa60243a84dc693ae6bc76d620715e0edd9bf1befb0853512bcf84ac9f2218f432c78c4da
|
7
|
+
data.tar.gz: 54df34e4fe632f17cc849a01970dcdaf10bc3193c6286658262012e03c12a65addf2574cd15c916ee4180eb0937b29c9997192aa70f576458a0ec938cb31884f
|
data/ext/libgecode3/extconf.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
exit(0) if ENV["USE_SYSTEM_GECODE"]
|
2
|
+
|
1
3
|
require 'pp'
|
2
4
|
|
3
5
|
module GecodeBuild
|
@@ -7,20 +9,26 @@ module GecodeBuild
|
|
7
9
|
|
8
10
|
PREFIX = File.expand_path("../../../lib/dep-selector-libgecode/vendored-gecode", __FILE__).freeze
|
9
11
|
|
10
|
-
|
12
|
+
def self.windows?
|
13
|
+
!!(RUBY_PLATFORM =~ /mswin|mingw|windows/)
|
14
|
+
end
|
11
15
|
|
12
16
|
def self.gecode_vendor_dir
|
13
17
|
GECODE_VENDOR_DIR
|
14
18
|
end
|
15
19
|
|
20
|
+
def self.configure
|
21
|
+
File.join(GECODE_VENDOR_DIR, "configure")
|
22
|
+
end
|
23
|
+
|
16
24
|
def self.prefix
|
17
25
|
PREFIX
|
18
26
|
end
|
19
27
|
|
20
|
-
# TODO: this needs to detect windows and add `--with-host-os=windows`
|
21
28
|
def self.configure_cmd
|
22
|
-
%W[
|
23
|
-
|
29
|
+
args = %W[
|
30
|
+
sh
|
31
|
+
#{configure}
|
24
32
|
--prefix=#{prefix}
|
25
33
|
--disable-doc-dot
|
26
34
|
--disable-doc-search
|
@@ -31,14 +39,24 @@ module GecodeBuild
|
|
31
39
|
--disable-examples
|
32
40
|
--disable-flatzinc
|
33
41
|
]
|
42
|
+
args << "--with-host-os=windows" if windows?
|
43
|
+
args
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.setup_env
|
47
|
+
if windows?
|
48
|
+
ENV['CC'] = 'gcc'
|
49
|
+
ENV['CXX'] = 'g++'
|
50
|
+
end
|
34
51
|
end
|
35
52
|
|
36
53
|
def self.system(*args)
|
37
54
|
print("-> #{args.join(' ')}\n")
|
38
|
-
super(*args
|
55
|
+
super(*args)
|
39
56
|
end
|
40
57
|
|
41
58
|
def self.run_build_commands
|
59
|
+
setup_env
|
42
60
|
system(*configure_cmd) &&
|
43
61
|
system("make", "clean") &&
|
44
62
|
system("make", "-j", "5") &&
|
@@ -47,11 +65,10 @@ module GecodeBuild
|
|
47
65
|
|
48
66
|
def self.run
|
49
67
|
Dir.chdir(gecode_vendor_dir) do
|
50
|
-
run_build_commands or raise BuildError, "Failed to build gecode library.
|
68
|
+
run_build_commands or raise BuildError, "Failed to build gecode library."
|
51
69
|
end
|
52
70
|
end
|
53
71
|
|
54
72
|
end
|
55
73
|
|
56
74
|
GecodeBuild.run
|
57
|
-
|
@@ -54,7 +54,6 @@ typedef int flex_int32_t;
|
|
54
54
|
typedef unsigned char flex_uint8_t;
|
55
55
|
typedef unsigned short int flex_uint16_t;
|
56
56
|
typedef unsigned int flex_uint32_t;
|
57
|
-
#endif /* ! C99 */
|
58
57
|
|
59
58
|
/* Limits of integral types. */
|
60
59
|
#ifndef INT8_MIN
|
@@ -85,6 +84,8 @@ typedef unsigned int flex_uint32_t;
|
|
85
84
|
#define UINT32_MAX (4294967295U)
|
86
85
|
#endif
|
87
86
|
|
87
|
+
#endif /* ! C99 */
|
88
|
+
|
88
89
|
#endif /* ! FLEXINT_H */
|
89
90
|
|
90
91
|
#ifdef __cplusplus
|
@@ -158,7 +159,15 @@ typedef void* yyscan_t;
|
|
158
159
|
|
159
160
|
/* Size of default input buffer. */
|
160
161
|
#ifndef YY_BUF_SIZE
|
162
|
+
#ifdef __ia64__
|
163
|
+
/* On IA-64, the buffer size is 16k, not 8k.
|
164
|
+
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
|
165
|
+
* Ditto for the __ia64__ case accordingly.
|
166
|
+
*/
|
167
|
+
#define YY_BUF_SIZE 32768
|
168
|
+
#else
|
161
169
|
#define YY_BUF_SIZE 16384
|
170
|
+
#endif /* __ia64__ */
|
162
171
|
#endif
|
163
172
|
|
164
173
|
/* The state buf must be large enough to hold one state per character in the main buffer.
|
@@ -599,8 +608,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[57] =
|
|
599
608
|
* Guido Tack, 2007
|
600
609
|
*
|
601
610
|
* Last modified:
|
602
|
-
* $Date:
|
603
|
-
* $Revision:
|
611
|
+
* $Date: 2006-12-11 03:27:31 +1100 (Mon, 11 Dec 2006) $ by $Author: schulte $
|
612
|
+
* $Revision: 4024 $
|
604
613
|
*
|
605
614
|
* This file is part of Gecode, the generic constraint
|
606
615
|
* development environment:
|
@@ -647,7 +656,7 @@ int stringbufpos;
|
|
647
656
|
int yy_input_proc(char* buf, int size, yyscan_t yyscanner);
|
648
657
|
#define YY_INPUT(buf, result, max_size) \
|
649
658
|
result = yy_input_proc(buf, max_size, yyscanner);
|
650
|
-
#line
|
659
|
+
#line 660 "gecode/flatzinc/lexer.yy.cpp"
|
651
660
|
|
652
661
|
#define INITIAL 0
|
653
662
|
|
@@ -776,7 +785,12 @@ static int input (yyscan_t yyscanner );
|
|
776
785
|
|
777
786
|
/* Amount of stuff to slurp up with each read. */
|
778
787
|
#ifndef YY_READ_BUF_SIZE
|
788
|
+
#ifdef __ia64__
|
789
|
+
/* On IA-64, the buffer size is 16k, not 8k */
|
790
|
+
#define YY_READ_BUF_SIZE 16384
|
791
|
+
#else
|
779
792
|
#define YY_READ_BUF_SIZE 8192
|
793
|
+
#endif /* __ia64__ */
|
780
794
|
#endif
|
781
795
|
|
782
796
|
/* Copy whatever the last rule matched to the standard output. */
|
@@ -784,7 +798,7 @@ static int input (yyscan_t yyscanner );
|
|
784
798
|
/* This used to be an fputs(), but since the string might contain NUL's,
|
785
799
|
* we now use fwrite().
|
786
800
|
*/
|
787
|
-
#define ECHO fwrite( yytext, yyleng, 1, yyout )
|
801
|
+
#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
|
788
802
|
#endif
|
789
803
|
|
790
804
|
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
|
@@ -795,7 +809,7 @@ static int input (yyscan_t yyscanner );
|
|
795
809
|
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
796
810
|
{ \
|
797
811
|
int c = '*'; \
|
798
|
-
|
812
|
+
size_t n; \
|
799
813
|
for ( n = 0; n < max_size && \
|
800
814
|
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
|
801
815
|
buf[n] = (char) c; \
|
@@ -883,7 +897,7 @@ YY_DECL
|
|
883
897
|
#line 66 "./gecode/flatzinc/lexer.lxx"
|
884
898
|
|
885
899
|
|
886
|
-
#line
|
900
|
+
#line 901 "gecode/flatzinc/lexer.yy.cpp"
|
887
901
|
|
888
902
|
yylval = yylval_param;
|
889
903
|
|
@@ -959,7 +973,7 @@ yy_find_action:
|
|
959
973
|
|
960
974
|
if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
|
961
975
|
{
|
962
|
-
|
976
|
+
int yyl;
|
963
977
|
for ( yyl = 0; yyl < yyleng; ++yyl )
|
964
978
|
if ( yytext[yyl] == '\n' )
|
965
979
|
|
@@ -1267,7 +1281,7 @@ YY_RULE_SETUP
|
|
1267
1281
|
#line 130 "./gecode/flatzinc/lexer.lxx"
|
1268
1282
|
ECHO;
|
1269
1283
|
YY_BREAK
|
1270
|
-
#line
|
1284
|
+
#line 1285 "gecode/flatzinc/lexer.yy.cpp"
|
1271
1285
|
case YY_STATE_EOF(INITIAL):
|
1272
1286
|
yyterminate();
|
1273
1287
|
|
@@ -2050,8 +2064,8 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
|
|
2050
2064
|
|
2051
2065
|
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
|
2052
2066
|
* scan from a @e copy of @a bytes.
|
2053
|
-
* @param
|
2054
|
-
* @param
|
2067
|
+
* @param yybytes the byte buffer to scan
|
2068
|
+
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
|
2055
2069
|
* @param yyscanner The scanner object.
|
2056
2070
|
* @return the newly allocated buffer state object.
|
2057
2071
|
*/
|