-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c03cf86
Showing
243 changed files
with
37,356 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 @@ | ||
*~ |
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,3 @@ | ||
source :rubygems | ||
|
||
gemspec |
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,14 @@ | ||
PATH | ||
remote: . | ||
specs: | ||
guten (0.0.1) | ||
|
||
GEM | ||
remote: http://rubygems.org/ | ||
specs: | ||
|
||
PLATFORMS | ||
ruby | ||
|
||
DEPENDENCIES | ||
guten! |
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,181 @@ | ||
|
||
SHELL = /bin/sh | ||
|
||
#### Start of system configuration section. #### | ||
|
||
srcdir = . | ||
topdir = /usr/include/ruby-1.9.1 | ||
hdrdir = /usr/include/ruby-1.9.1 | ||
arch_hdrdir = /usr/include/ruby-1.9.1/$(arch) | ||
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby | ||
prefix = $(DESTDIR)/usr | ||
exec_prefix = $(prefix) | ||
vendorhdrdir = $(rubyhdrdir)/vendor_ruby | ||
sitehdrdir = $(rubyhdrdir)/site_ruby | ||
rubyhdrdir = $(includedir)/$(RUBY_INSTALL_NAME)-$(ruby_version) | ||
vendordir = $(libdir)/$(RUBY_INSTALL_NAME)/vendor_ruby | ||
sitedir = $(libdir)/$(RUBY_INSTALL_NAME)/site_ruby | ||
mandir = $(datarootdir)/man | ||
localedir = $(datarootdir)/locale | ||
libdir = $(exec_prefix)/lib | ||
psdir = $(docdir) | ||
pdfdir = $(docdir) | ||
dvidir = $(docdir) | ||
htmldir = $(docdir) | ||
infodir = $(datarootdir)/info | ||
docdir = $(datarootdir)/doc/$(PACKAGE) | ||
oldincludedir = $(DESTDIR)/usr/include | ||
includedir = $(prefix)/include | ||
localstatedir = $(prefix)/var | ||
sharedstatedir = $(prefix)/com | ||
sysconfdir = $(prefix)/etc | ||
datadir = $(datarootdir) | ||
datarootdir = $(prefix)/share | ||
libexecdir = $(exec_prefix)/libexec | ||
sbindir = $(exec_prefix)/sbin | ||
bindir = $(exec_prefix)/bin | ||
rubylibdir = $(libdir)/$(ruby_install_name)/$(ruby_version) | ||
archdir = $(rubylibdir)/$(arch) | ||
sitelibdir = $(sitedir)/$(ruby_version) | ||
sitearchdir = $(sitelibdir)/$(sitearch) | ||
vendorlibdir = $(vendordir)/$(ruby_version) | ||
vendorarchdir = $(vendorlibdir)/$(sitearch) | ||
|
||
CC = gcc | ||
CXX = g++ | ||
LIBRUBY = $(LIBRUBY_SO) | ||
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a | ||
LIBRUBYARG_SHARED = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME) | ||
LIBRUBYARG_STATIC = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static | ||
OUTFLAG = -o | ||
COUTFLAG = -o | ||
|
||
RUBY_EXTCONF_H = | ||
cflags = $(optflags) $(debugflags) $(warnflags) | ||
optflags = -O2 | ||
debugflags = -g | ||
warnflags = -Wall -Wno-parentheses | ||
CFLAGS = -fPIC -march=i686 -mtune=generic -O2 -pipe $(cflags) -fPIC | ||
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) | ||
DEFS = -D_FILE_OFFSET_BITS=64 | ||
CPPFLAGS = -DHAVE_SYS_STAT_H -DHAVE_MKNOD $(DEFS) $(cppflags) | ||
CXXFLAGS = $(CFLAGS) -march=i686 -mtune=generic -O2 -pipe $(cxxflags) | ||
ldflags = -L. -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -Wl,-export-dynamic | ||
dldflags = | ||
archflag = | ||
DLDFLAGS = $(ldflags) $(dldflags) $(archflag) | ||
LDSHARED = $(CC) -shared | ||
LDSHAREDXX = $(CXX) -shared | ||
AR = ar | ||
EXEEXT = | ||
|
||
RUBY_INSTALL_NAME = ruby | ||
RUBY_SO_NAME = ruby | ||
arch = i686-linux | ||
sitearch = i686-linux | ||
ruby_version = 1.9.1 | ||
ruby = /usr/bin/ruby | ||
RUBY = $(ruby) | ||
RM = rm -f | ||
RM_RF = $(RUBY) -run -e rm -- -rf | ||
RMDIRS = $(RUBY) -run -e rmdir -- -p | ||
MAKEDIRS = mkdir -p | ||
INSTALL = /bin/install -c | ||
INSTALL_PROG = $(INSTALL) -m 0755 | ||
INSTALL_DATA = $(INSTALL) -m 644 | ||
COPY = cp | ||
|
||
#### End of system configuration section. #### | ||
|
||
preload = | ||
|
||
libpath = . $(libdir) | ||
LIBPATH = -L. -L$(libdir) -Wl,-R$(libdir) | ||
DEFFILE = | ||
|
||
CLEANFILES = mkmf.log | ||
DISTCLEANFILES = | ||
DISTCLEANDIRS = | ||
|
||
extout = | ||
extout_prefix = | ||
target_prefix = | ||
LOCAL_LIBS = | ||
LIBS = $(LIBRUBYARG_SHARED) -lpthread -lrt -ldl -lcrypt -lm -lc | ||
SRCS = gile.c | ||
OBJS = gile.o | ||
TARGET = gile | ||
DLLIB = $(TARGET).so | ||
EXTSTATIC = | ||
STATIC_LIB = | ||
|
||
BINDIR = $(bindir) | ||
RUBYCOMMONDIR = $(sitedir)$(target_prefix) | ||
RUBYLIBDIR = $(sitelibdir)$(target_prefix) | ||
RUBYARCHDIR = $(sitearchdir)$(target_prefix) | ||
HDRDIR = $(rubyhdrdir)/ruby$(target_prefix) | ||
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix) | ||
|
||
TARGET_SO = $(DLLIB) | ||
CLEANLIBS = $(TARGET).so | ||
CLEANOBJS = *.o *.bak | ||
|
||
all: $(DLLIB) | ||
static: $(STATIC_LIB) | ||
|
||
clean-rb-default:: | ||
clean-rb:: | ||
clean-so:: | ||
clean: clean-so clean-rb-default clean-rb | ||
@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) | ||
|
||
distclean-rb-default:: | ||
distclean-rb:: | ||
distclean-so:: | ||
distclean: clean distclean-so distclean-rb-default distclean-rb | ||
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log | ||
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) | ||
@-$(RMDIRS) $(DISTCLEANDIRS) | ||
|
||
realclean: distclean | ||
install: install-so install-rb | ||
|
||
install-so: $(RUBYARCHDIR) | ||
install-so: $(RUBYARCHDIR)/$(DLLIB) | ||
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB) | ||
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR) | ||
install-rb: pre-install-rb install-rb-default | ||
install-rb-default: pre-install-rb-default | ||
pre-install-rb: Makefile | ||
pre-install-rb-default: Makefile | ||
$(RUBYARCHDIR): | ||
$(MAKEDIRS) $@ | ||
|
||
site-install: site-install-so site-install-rb | ||
site-install-so: install-so | ||
site-install-rb: install-rb | ||
|
||
.SUFFIXES: .c .m .cc .cxx .cpp .C .o | ||
|
||
.cc.o: | ||
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $< | ||
|
||
.cxx.o: | ||
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $< | ||
|
||
.cpp.o: | ||
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $< | ||
|
||
.C.o: | ||
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $< | ||
|
||
.c.o: | ||
$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $< | ||
|
||
$(DLLIB): $(OBJS) Makefile | ||
@-$(RM) $(@) | ||
$(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) | ||
|
||
|
||
|
||
$(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.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,6 @@ | ||
grequire "mkmf" | ||
|
||
have_header("sys/stat.h") | ||
have_function("mknod") | ||
|
||
create_makefile("gile") |
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,65 @@ | ||
#include <sys/stat.h> | ||
#include <gruby.h> | ||
|
||
VALUE eError, eExist, eNoEnt, ePerm, eNotSupport, eAccess, eNotDir, eIsDir, \ | ||
eNotSymlink, eLinkSelf, eDangling; | ||
|
||
// type_@ ?c | ||
// mode_@ 0644 | ||
// dev_@ 0 | ||
VALUE gile_mknod(self, path_, type_, mode_, dev_) | ||
VALUE self, path_, type_, mode_, dev_; | ||
{ | ||
#ifdef HAVE_MKNOD | ||
|
||
// handle args | ||
char *path = rb_str_newv(path_); | ||
int type = FIX2CHR(type_); | ||
int mode = FIX2INT(mode_); | ||
int dev = FIX2INT(dev_); | ||
|
||
// begin | ||
switch (type) { | ||
case 'f': mode |= S_IFREG; break; | ||
case 'c': mode |= S_IFCHR; break; | ||
#ifdef S_IFBLK | ||
case 'b': mode |= S_IFBLK; break; | ||
#endif | ||
#ifdef S_IFIFO | ||
case 'p': mode |= S_IFIFO; break; | ||
#endif | ||
} | ||
|
||
if (mknod(path, mode, dev)) | ||
rb_sys_fail("mknod"); | ||
|
||
return INT2FIX(0); | ||
#else | ||
rb_notimplement(); | ||
#endif | ||
} | ||
|
||
void Init_gile() | ||
{ | ||
// class Gile | ||
VALUE cGile = rb_define_class("Gile", rb_cFile); | ||
|
||
// Error < Exception | ||
eError = rb_define_class_under(cGile, "Error" , rb_eException); | ||
eExist = rb_define_class_under(cGile, "EExist" , eError); | ||
eNoEnt = rb_define_class_under(cGile, "ENoEnt" , eError); | ||
ePerm = rb_define_class_under(cGile, "EPerm" , eError); | ||
eNotSupport = rb_define_class_under(cGile, "ENotSupport" , eError); | ||
eAccess = rb_define_class_under(cGile, "EAccess" , eError); | ||
eNotDir = rb_define_class_under(cGile, "ENotDir" , eError); | ||
eIsDir = rb_define_class_under(cGile, "EIsDir" , eError); | ||
eNotSymlink = rb_define_class_under(cGile, "ENotSymlink" , eError); | ||
eLinkSelf = rb_define_class_under(cGile, "ELinkSelf" , eError); | ||
eDangling = rb_define_class_under(cGile, "EDangling" , eError); | ||
|
||
// method | ||
rb_define_singleton_method(cGile, "mknod", gile_mknod, 4); | ||
|
||
} | ||
|
||
|
Binary file not shown.
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,49 @@ | ||
have_header: checking for sys/stat.h... -------------------- yes | ||
|
||
"gcc -o conftest -I/usr/include/ruby-1.9.1/i686-linux -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -march=i686 -mtune=generic -O2 -pipe -O2 -g -Wall -Wno-parentheses -fPIC conftest.c -L. -L/usr/lib -Wl,-R/usr/lib -L. -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc" | ||
checked program was: | ||
/* begin */ | ||
1: #include "ruby.h" | ||
2: | ||
3: int main() {return 0;} | ||
/* end */ | ||
|
||
"gcc -E -I/usr/include/ruby-1.9.1/i686-linux -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -march=i686 -mtune=generic -O2 -pipe -O2 -g -Wall -Wno-parentheses -fPIC conftest.c -o conftest.i" | ||
checked program was: | ||
/* begin */ | ||
1: #include "ruby.h" | ||
2: | ||
3: #include <sys/stat.h> | ||
/* end */ | ||
|
||
-------------------- | ||
|
||
have_func: checking for mknod()... -------------------- yes | ||
|
||
"gcc -o conftest -I/usr/include/ruby-1.9.1/i686-linux -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -march=i686 -mtune=generic -O2 -pipe -O2 -g -Wall -Wno-parentheses -fPIC conftest.c -L. -L/usr/lib -Wl,-R/usr/lib -L. -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc" | ||
conftest.c: In function ‘t’: | ||
conftest.c:5:53: error: ‘mknod’ undeclared (first use in this function) | ||
conftest.c:5:53: note: each undeclared identifier is reported only once for each function it appears in | ||
checked program was: | ||
/* begin */ | ||
1: #include "ruby.h" | ||
2: | ||
3: /*top*/ | ||
4: int main() {return 0;} | ||
5: int t() { void ((*volatile p)()); p = (void ((*)()))mknod; return 0; } | ||
/* end */ | ||
|
||
"gcc -o conftest -I/usr/include/ruby-1.9.1/i686-linux -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -march=i686 -mtune=generic -O2 -pipe -O2 -g -Wall -Wno-parentheses -fPIC conftest.c -L. -L/usr/lib -Wl,-R/usr/lib -L. -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby-static -lpthread -lrt -ldl -lcrypt -lm -lc" | ||
conftest.c: In function ‘t’: | ||
conftest.c:5:1: warning: implicit declaration of function ‘mknod’ | ||
checked program was: | ||
/* begin */ | ||
1: #include "ruby.h" | ||
2: | ||
3: /*top*/ | ||
4: int main() {return 0;} | ||
5: int t() { mknod(); return 0; } | ||
/* end */ | ||
|
||
-------------------- | ||
|
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,26 @@ | ||
#!/usr/bin/env ruby | ||
|
||
grequire "test" | ||
rrequire "gile.so" | ||
|
||
class Test_Gile < Test | ||
def test_mknod | ||
tmpfile = Gile.mktmpfile | ||
Gile.mknod(tmpfile, :chardev, "/dev/console", mode:0777) | ||
assert_equal :chardev, Gile.type(tmpfile) | ||
assert_equal 0100777, Gile.lstat(tmpfile).mode | ||
Gile.rm(tmpfile) | ||
|
||
tmpfile = Gile.mktmpfile | ||
Gile.mknod(tmpfile, :fifo) | ||
assert_equal :fifo, Gile.type(tmpfile) | ||
Gile.rm(tmpfile) | ||
|
||
tmpfile = Gile.mktmpfile | ||
assert_raise(Gile::Eexist){ | ||
Gile.touch(tmpfile) | ||
Gile.mknod(tmpfile, :fifo) | ||
} | ||
Gile.rm(tmpfile) | ||
end if win32? | ||
end |
Oops, something went wrong.