Skip to content
This repository has been archived by the owner on May 27, 2021. It is now read-only.

Added stuff to html and get.c #28

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
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
1 change: 1 addition & 0 deletions .gitingore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin/
Binary file added bin/echoserv
Binary file not shown.
20 changes: 20 additions & 0 deletions bin/echoserv.dSYM/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.echoserv</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
Binary file not shown.
65 changes: 0 additions & 65 deletions example/build.py

This file was deleted.

60 changes: 60 additions & 0 deletions example/build.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/usr/local/bin/ruby

require 'yaml'
include Gem

def command_format(cmd, var)
var.each_pair do |key, value|
cmd = cmd.gsub! "{#{key.to_s}}", value
end
return cmd
end

Dir.chdir __dir__

data = File.read 'config.yml'
config = YAML.load data, symbolize_names: true

if ARGF.argv.count < 1
puts "Usage: build.rb [file]"
exit
end

program_ext = Platform.local.os == "mswin32" ? '.exe' : ''
program_name = ARGF.argv[0].gsub '.c', program_ext

unless Dir.exist? config[:bin]
Dir.mkdir config[:bin]
end

source_files = Dir.entries(config[:source]).select { |e| e.end_with?('.c', '.C') }
source_files.map! {|e| "#{config[:source]}/#{e}"}
source_files << ARGF.argv[0]

libraries = config[:dlibs].select do |e|
e.keys.include?(Platform.local.os.to_sym)
end

unless libraries.empty?
common = config[:dlibs].select { |e| e.keys.include?(:common)}.first
libraries << common
libraries.map! { |e| e.values }.flatten!
end

command = command_format(
"{compiler} {flags} {include} -o {out} {source} {libs} {argv}",
{
compiler: config[:compiler],
flags: config[:cflags].map \
{ |e| !e.start_with?('-') ? e.prepend('-') : e }.join(' '),
include: "-I#{config[:include]}",
out: "#{config[:bin]}/#{program_name}",
source: source_files.join(' '),
libs: libraries.map {|e| "-l#{e}"}.join(' '),
argv: ARGF.argv.count > 1 ? ARGF.argv[1..ARGF.argv.count].join(' ') : ""
}
)

puts "Compiling #{program_name}..."
`#{command}`
puts "Done"
15 changes: 15 additions & 0 deletions example/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
compiler: clang

source: ../src
include: ../src
bin: ../bin

cflags:
- 'O1'
- Wall
- std=c99
- -g

dlibs:
- mswin32:
- ws2_32