bye
This commit is contained in:
parent
8df4670d80
commit
d2378812ce
@ -5,6 +5,8 @@ module IRC.Plugins.Loader ( load ) where
|
|||||||
|
|
||||||
import qualified Data.HashMap.Lazy as M
|
import qualified Data.HashMap.Lazy as M
|
||||||
|
|
||||||
|
import IRC.Plugins.Plugin
|
||||||
|
|
||||||
import Control.Exception ( catch, ErrorCall )
|
import Control.Exception ( catch, ErrorCall )
|
||||||
import GHC.Exts ( addrToAny# )
|
import GHC.Exts ( addrToAny# )
|
||||||
import GHC.Ptr ( Ptr(..) )
|
import GHC.Ptr ( Ptr(..) )
|
||||||
@ -12,11 +14,6 @@ import System.Info ( os, arch )
|
|||||||
import GHCi.ObjLink
|
import GHCi.ObjLink
|
||||||
import Encoding
|
import Encoding
|
||||||
|
|
||||||
type PluginSet = M.HashMap String Plugin
|
|
||||||
|
|
||||||
data Plugin = Plugin { pluginEvent :: String, -- e.g. PRIVMSG
|
|
||||||
pluginEntry :: Int }
|
|
||||||
|
|
||||||
load :: PluginSet -> String -> IO (Either String PluginSet)
|
load :: PluginSet -> String -> IO (Either String PluginSet)
|
||||||
load set path = do
|
load set path = do
|
||||||
initObjLinker RetainCAFs
|
initObjLinker RetainCAFs
|
||||||
|
8
IRC/Plugins/Plugin.hs
Normal file
8
IRC/Plugins/Plugin.hs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
module IRC.Plugins.Plugin ( PluginSet, Plugin(..) ) where
|
||||||
|
|
||||||
|
import qualified Data.HashMap.Lazy as M
|
||||||
|
|
||||||
|
type PluginSet = M.HashMap String Plugin
|
||||||
|
|
||||||
|
data Plugin = Plugin { pluginEvent :: String, -- e.g. PRIVMSG
|
||||||
|
pluginEntry :: Int }
|
@ -1,3 +1,4 @@
|
|||||||
include_rules
|
include_rules
|
||||||
|
|
||||||
: foreach *.hs |> ghc $(GHCFLAGS) -c %f |> %B.o %B.hi
|
: Plugin.hs |> ghc $(GHCFLAGS) -c %f |> %B.o %B.hi
|
||||||
|
: Loader.hs | Plugin.hi |> ghc $(GHCFLAGS) -c %f |> %B.o %B.hi
|
||||||
|
4
Tupfile
4
Tupfile
@ -1,4 +1,4 @@
|
|||||||
include_rules
|
include_rules
|
||||||
|
|
||||||
: foreach *.hs | IRC/*.hi |> ghc $(GHCFLAGS) -c %f |> %B.o %B.hi
|
: foreach *.hs | IRC/*.hi IRC/Plugins/*.hi |> ghc $(GHCFLAGS) -c %f |> %B.o %B.hi
|
||||||
: *.o IRC/*.o |> ghc -o Main %f |> Main
|
: *.o IRC/*.o IRC/Plugins/*.o |> ghc -o Main %f |> Main
|
||||||
|
@ -1 +1 @@
|
|||||||
GHCFLAGS += -Wall -O3
|
GHCFLAGS += -i$(CWD) -Wall -O3
|
||||||
|
4
make.sh
4
make.sh
@ -9,6 +9,8 @@ if ! command -v tup >/dev/null; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export CWD="$(readlink -f .)"
|
||||||
|
|
||||||
case $1 in
|
case $1 in
|
||||||
run)
|
run)
|
||||||
$0 build >&2 || exit 1
|
$0 build >&2 || exit 1
|
||||||
@ -22,7 +24,7 @@ case $1 in
|
|||||||
tup >&2
|
tup >&2
|
||||||
;;
|
;;
|
||||||
clean)
|
clean)
|
||||||
rm -f Main *.o *.hi IRC/*.o IRC/*.hi
|
rm -f Main *.o *.hi IRC/*.o IRC/*.hi IRC/Plugins/*.o IRC/Plugins/*.hi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
usage
|
usage
|
||||||
|
Loading…
Reference in New Issue
Block a user