about summary refs log tree commit diff stats
path: root/cpp/020run
Commit message (Collapse)AuthorAgeFilesLines
* 1175Kartik K. Agaram2015-04-241-5/+0
|
* 1174Kartik K. Agaram2015-04-241-1/+1
|
* 1173Kartik K. Agaram2015-04-241-2/+2
|
* 1172Kartik K. Agaram2015-04-241-7/+7
|
* 1171Kartik K. Agaram2015-04-241-10/+13
| | | | | Chip away at eliminating that 'pc' reference by first throwing out the most common expression that uses it: instructions[pc].
* 1170Kartik K. Agaram2015-04-241-3/+4
|
* 1169 - use the global variable god gave youKartik K. Agaram2015-04-241-15/+16
|
* 1167Kartik K. Agaram2015-04-241-1/+1
|
* 1157Kartik K. Agaram2015-04-241-3/+3
|
* 1155 - three phases of mu: load, transform, runKartik K. Agaram2015-04-241-6/+6
| | | | | | Each phase implicitly calls previous phases. Most C++ scenarios implicitly call one, two or three of the phases. More clear now that 'load' does more than just add recipes.
* 1153 - start of scheduler implementationKartik K. Agaram2015-04-231-2/+4
| | | | | This first step is just stopping run() after a fixed number of instructions. But the scheduler layer isn't done yet.
* 1146 - yet another out-of-bounds accessKartik K. Agaram2015-04-221-1/+4
| | | | | | | | | | | | | | There's a test in this commit, but it doesn't actually fail, because by some accident the memory at index 2 of recipe 'f' has data at the is_label offset and breaks out of the loop. Graah. How did I ever misplace that "Reading One Instruction" waypoint? I could swear I was concerned about this possibility when I implemented calls. Today has been tough on my confidence. STL helps avoid memory leaks but doesn't help with buffer overflows nearly as much as I thought. Oh brilliant, valgrind caught the problem! And there weren't any others. I feel much better.
* 1133 - more reorg of commandline parsingKartik K. Agaram2015-04-221-2/+5
| | | | | | | | | | | | | | | | | | | | | | 1. Drop the ability to run just some C++ tests. It's a lousy interface to use line numbers, we can't selectively run mu tests, we haven't used it in a while because our tests run plenty fast, and it's complicating other parts, like Next_recipe_number and test space handling. 2. Create a new layer right up top to show the usage message and all the different forms that are possible. Good for documentation until we come up with a way to put the different forms in their own layers. At least it's out of the test layer now. 3. Strengthen the assertion that no recipes exist in test space before we start running any sorts of tests. Earlier it was possible for files loaded explicitly to overflow into test space because we were asserting before load, not after. Now we check if we need to run tests, load all files, then make the assertion, run tests, and exit if necessary. Now we don't need to mess with commandline args at all in layer 50. That's a sign that we're on the right track.
* 1126 - 'mu test x.mu' runs just scenarios in x.muKartik K. Agaram2015-04-221-3/+4
| | | | | | | Required still more tweaking of Recipe namespaces. Mindlessly inserting setup() took a couple of hours to debug because the test function and the function it was testing ended up getting the same recipe number, with the inevitable infinite loop :/
* 1110 - 'scenarios' directive applies only to current fileKartik K. Agaram2015-04-201-1/+0
|
* 1094 - demarcate sections in layersKartik K. Agaram2015-04-171-2/+3
| | | | | | We have tangled vs regular comments, but they highlight the same. So we're still at 3 colors for comments. Anything more starts to seem gratuitous.
* 1087 - mu files can now define containers and exclusive containersKartik K. Agaram2015-04-171-1/+3
|
* 1077Kartik K. Agaram2015-04-171-2/+13
|
* 1075Kartik K. Agaram2015-04-171-0/+187
s/aerc/blame/Makefile?id=fcdcd32de7118e1de1f8d94c380a0e80a64265ec'>^
0bfb90b ^








f42724c ^

d30a6e3 ^
fc719e4 ^
0bfb90b ^


fc719e4 ^
eabdcff ^
fc719e4 ^
3874269 ^
eea128f ^
905cb9d ^
eea128f ^










905cb9d ^
eea128f ^







905cb9d ^
fc719e4 ^
d3b5a76 ^





eea128f ^










dadc9bf ^
eea128f ^





d3b5a76 ^
fc719e4 ^

a2fd88d ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122


                                        
 


                                                                                           
             


                       
 
         
                  


                              
      

         
                                   
                    

              
                                


                                                    
                     
 
                              
                                                                      
 



                                                                

                
                       

                       
                        
                         
                        
                     
                         

                          
 








                       

            
                       
 


                                                      
      
                                    
 
            
                                                                                                                       
                                                                                                                                   










                                                                                
                                                                                







                                                                                               
                                                                                     
 





                                                    










                                                       
                                                       





                                                  
 

                    
                                             
.POSIX:
.SUFFIXES:
.SUFFIXES: .1 .5 .7 .1.scd .5.scd .7.scd

override undefine VERSION # don't allow local overrides, we want our version
_git_version=$(shell git describe --long --tags --dirty 2>/dev/null | sed 's/-/.r/;s/-/./')
ifeq ($(strip $(_git_version)),)
VERSION=0.5.2
else
VERSION=$(_git_version)
endif

VPATH=doc
PREFIX?=/usr/local
BINDIR?=$(PREFIX)/bin
SHAREDIR?=$(PREFIX)/share/aerc
MANDIR?=$(PREFIX)/share/man
GO?=go
GOFLAGS?=

GOSRC:=$(shell find . -name '*.go')
GOSRC+=go.mod go.sum

aerc: $(GOSRC)
	$(GO) build $(GOFLAGS) \
		-ldflags "-X main.Prefix=$(PREFIX) \
		-X main.ShareDir=$(SHAREDIR) \
		-X main.Version=$(VERSION)" \
		-o $@

aerc.conf: config/aerc.conf.in
	sed -e 's:@SHAREDIR@:$(SHAREDIR):g' > $@ < config/aerc.conf.in

debug: $(GOSRC)
	GOFLAGS="-tags=notmuch" \
	dlv debug --headless --listen localhost:4747 &>/dev/null

DOCS := \
	aerc.1 \
	aerc-search.1 \
	aerc-config.5 \
	aerc-imap.5 \
	aerc-maildir.5 \
	aerc-sendmail.5 \
	aerc-notmuch.5 \
	aerc-smtp.5 \
	aerc-tutorial.7 \
	aerc-templates.7 \
	aerc-stylesets.7

.1.scd.1:
	scdoc < $< > $@

.5.scd.5:
	scdoc < $< > $@

.7.scd.7:
	scdoc < $< > $@

doc: $(DOCS)

all: aerc aerc.conf doc

# Exists in GNUMake but not in NetBSD make and others.
RM?=rm -f

clean:
	$(RM) $(DOCS) aerc.conf aerc

install: all
	mkdir -m755 -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5 $(DESTDIR)$(MANDIR)/man7 \
		$(DESTDIR)$(SHAREDIR) $(DESTDIR)$(SHAREDIR)/filters $(DESTDIR)$(SHAREDIR)/templates $(DESTDIR)$(SHAREDIR)/stylesets
	install -m755 aerc $(DESTDIR)$(BINDIR)/aerc
	install -m644 aerc.1 $(DESTDIR)$(MANDIR)/man1/aerc.1
	install -m644 aerc-search.1 $(DESTDIR)$(MANDIR)/man1/aerc-search.1
	install -m644 aerc-config.5 $(DESTDIR)$(MANDIR)/man5/aerc-config.5
	install -m644 aerc-imap.5 $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
	install -m644 aerc-maildir.5 $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5
	install -m644 aerc-sendmail.5 $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5
	install -m644 aerc-notmuch.5 $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5
	install -m644 aerc-smtp.5 $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5
	install -m644 aerc-tutorial.7 $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7
	install -m644 aerc-templates.7 $(DESTDIR)$(MANDIR)/man7/aerc-templates.7
	install -m644 aerc-stylesets.7 $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
	install -m644 config/accounts.conf $(DESTDIR)$(SHAREDIR)/accounts.conf
	install -m644 aerc.conf $(DESTDIR)$(SHAREDIR)/aerc.conf
	install -m644 config/binds.conf $(DESTDIR)$(SHAREDIR)/binds.conf
	install -m755 filters/hldiff $(DESTDIR)$(SHAREDIR)/filters/hldiff
	install -m755 filters/html $(DESTDIR)$(SHAREDIR)/filters/html
	install -m755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext
	install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply
	install -m644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body
	install -m644 config/default_styleset $(DESTDIR)$(SHAREDIR)/stylesets/default

RMDIR_IF_EMPTY:=sh -c '\
if test -d $$0 && ! ls -1qA $$0 | grep -q . ; then \
	rmdir $$0; \
fi'

uninstall:
	$(RM) $(DESTDIR)$(BINDIR)/aerc
	$(RM) $(DESTDIR)$(MANDIR)/man1/aerc.1
	$(RM) $(DESTDIR)$(MANDIR)/man1/aerc-search.1
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-config.5
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-imap.5
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-maildir.5
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-sendmail.5
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-notmuch.5
	$(RM) $(DESTDIR)$(MANDIR)/man5/aerc-smtp.5
	$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-tutorial.7
	$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-templates.7
	$(RM) $(DESTDIR)$(MANDIR)/man7/aerc-stylesets.7
	$(RM) -r $(DESTDIR)$(SHAREDIR)
	${RMDIR_IF_EMPTY} $(DESTDIR)$(BINDIR)
	$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man1
	$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man5
	$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)/man7
	$(RMDIR_IF_EMPTY) $(DESTDIR)$(MANDIR)

.DEFAULT_GOAL := all

.PHONY: all doc clean install uninstall debug